본문 바로가기

CS/오퍼레이팅 시스템

6. 오퍼레이팅 시스템이 제공하는 서비스

 

* 사용자 관점

1. user interface

- 커맨드라인 : 사용자가 직접 명령어를 입력

                      shell에 코드 삽입 -> shell이 방대해짐, 코드를 별도 파일에 저장 후 그 파일을 커맨드에서 실행

- GUI : 사용자가 편리하게 이용하게 해줌

            현재 대부분의 os가 사용.

            윈도우, 유닉스, 리눅스(GUI 개발을 위한 프로젝트 KDE)

- 배치 인터페이스 : 일련의 명령어를 모은 파일, 패일 수행시 명령어들 연속적 시행

 

2. 프로그램 수행 : 로딩과 수행 순서를 결정

3. I/O 연산 : 하드웨어 관리, 파일과 IO장치에 접근하는 인터페이스 제공

4. 파일시스템 조작 :  파일 시스템 접근, 읽고 쓰는 파일을 생성하고  삭제하고 검색

5. 커뮤니케이션 : 프로세스 간 커뮤니케이션 지원

6. 에러탐지 : 하드웨어 접근 시 각종 에러나 접근 권한이 없는 자원에 접근할 때 발생하는 에러

 

*효율성

- 리소스 할당 : cpu, 메모리, 입출력 장치, 스토리지 등 다양한 형태의 리소스를 효과적으로 할당

                       멀티프로그래밍으로 동시에 여러 프로그램 수행. 각 프로그램에 리소스를 어떻게 할당할지에 중점을 둠

- accounting : 하드웨어를 어떻게 사용하는지 알려줌

                        리소스를, 메모리를 얼마나 어디에 사용하는 지에 대한 내용

- 하드웨어에 어떻게 접근되는지를 제어

- 사용자 접근 권한 제어

- 멀웨어 방지