이 장에서는 운영체제가 사용자와 프로세스, 사용자와 다른 시스템에게 제공하는 서비스를 설명한다. 즉, 운영체제를 구조화하는 다양한 방법에 대해 알아본다.
운영체제 서비스
운영체제는 사용자에게 편리성과 효율성을 제공한다. 먼저 편리성에 관한 것을 살펴보자.
편리성 : 운영체제 서비스는 사용자에게 도움이 되는 기능들을 제공한다.
1. 사용자 인터페이스(User Interface)
대부분의 모든 운영체제는 사용자 인터페이스(UI)를 가진다. CLI(Command Line Interface), GUI(Graphical User Interface), 일괄처리 인터페이스 등 다양한 사용자 인터페이스를 가진다.
2. 프로그램 실행
시스템은 프로그램을 메모리에 적재하고, 적재한 프로그램을 실행하고, 정상적이든 비정상적이든 종료할 수 있어야 한다.
3. 입출력 연산
프로그램은 파일이나 입출력 장치를 포함하는 입출력을 요구할 수 있다.
4. 파일 시스템 조작
프로세스는 파일과 디렉터리를 읽고 쓰는 기능, 생성하고 삭제하는 기능, 검색하는 기능, 리스트 하는 기능을 필요로 한다.
5. 통신
프로세스는 같은 컴퓨터 내에서 정보를 교환하거나, 네트워크를 통해서 다른 컴퓨터 사이에 정보를 교환한다.
6. 오류 검출
운영체제는 끊임없이 CPU와 메모리, 입출력 장치, 프로그램 내에서 발생하는 오류에 대해서 인식한다.
효율성 : 운영체제 기능 중 다른 것은 사용자를 위한 것이 아니라, 시스템 자체의 효율적인 동작을 보장하기 위한 기능들이다. 멀티유저 시스템(OS)에서는 사용자들 간에 자원을 공유하게 함으로써 효율성을 얻게 한다.
7. 자원 할당
여러 사용자가 있고, 여러 작업이 동시에 수행될 때, 각 작업에 자원이 할당되어야 한다.
8. 회계
어떤 사용자가 어떤 종류의 자원을 얼마나 사용했는지 기록하는 것이다.
9. 보호와 보안
보호 : 운영체제는 기본적으로 시스템에 대한 모든 접근 권한이 통제되는 것을 보장한다. 이것을 보호라고 한다.
보안 : 또한 운영체제는 외부 사용자로부터 시스템에 대한 사용자 인증을 요구한다. 이것을 보안이라고 한다.
(왼쪽)운영체제는 기본적으로 방화벽을 가지고 있다.
때문에 사실상 외부에서 시스템에 대한 모든 접근을 통제한다.
(오른쪽)이때 방화벽의 일부를 열어서 운영체제로 접근할 수 있게 하는 것이 보안이다.
운영체제와 사용자가 미리 약속해 놓은 아이디 와 패스워드를 가지고 운영체제 에 접근한다고 보면 됨.
사용자 인터페이스(UI)
CLI(Command Line Interface)
직접적인 명령을 내린다. 취향에 따라서 여러 형태로 구현된다.(bash, sch, cmd...)
기본적으로 사용자로부터 명령어를 받아들여 그것을 수행한다.
GUI(Graphical User Interface)
보통 마우스, 키보드, 모니터 등을 이용하여 아이콘을 클릭하거나 하는 직관적인 입력이 가능한 인터페이스이다.
많은 시스템들이 현재 CLI와 GUI 두 가지를 모두 제공하고 있다. 예로 윈도우는 CMD에서 CLI환경을 제공하고, 그 외에는 GUI를 제공하는 식이다.
'OS' 카테고리의 다른 글
3-1. 프로세스 : 프로세스의 연산 (1) | 2013.01.16 |
---|---|
3-1. 프로세스 : 프로세스 개념, 프로세스 스케줄링 (1) | 2013.01.09 |
2-3. 운영체제 구조 (0) | 2013.01.03 |
1. Introduction (0) | 2012.12.30 |