티스토리 뷰


  • 참고 도서는 'Operating System Concepts 8th' 입니다. (포스팅 하단부 참고)
  • 개인공부 후 자료를 남기기 위한 목적으로 포스팅합니다. 내용 상에 오류가 있을 수 있습니다.




2.1 운영체제 서비스



운영체제가 사용자를 위해 제공하는 기능들은 다음과 같다.

  • 사용자 인터페이스(User Interface) : 사용자 인터페이스는 크게 명령어 단위로 처리되는 명령어 라인 인터페이스(CLI, Command-Line Interface)그래피컬 사용자 인터페이스(GUI, Graphical User Interface)로 나뉜다. 우리가 도스나 윈도우 커맨드창 혹은 리눅스 터미널로 명령어를 입력해 파일이나 명령을 실행하는 것을 CLI, 윈도우나 Mac OS X 처럼 마우스를 통해 화면을 클릭하여 실행하는 방식을 GUI 방식이라고 한다.
  • 프로그램 실행(Program execution) : 운영체제를 통해 프로그램을 메모리에 올려 프로세스로 만들고 실행시킬 수 있어야 한다.
  • 입출력 연산(I/O operation) : 프로세스는 모니터나 파일을 통해 입출력을 시스템에게 요구할 수 있다. 일반적으로 사용자들은 입출력장치를 제어할 수 없다. 따라서 운영체제가 입출력에 대한 제어를 제공한다.
  • 파일 시스템 조작(File system manipulation) : 프로그램은 파일을 읽거나 쓸 수 있어햐며, 이름으로 생성, 삭제, 검색할 수 있어야 한다. 또한 보안을 위해 파일, 디렉토리의 소유권에 대한 권한을 조정할 수 있다.
  • 통신(Communication) : 운영체제에서의 통신 역할은 2가지로 나눌 수 있다. 첫 번째로 프로세스간의 통신이며, 이는 공유 메모리를 통해 이루어 진다. 두 번째로 다른 시스템 간의 프로세스 통신이다. 이 때 통신은 메시지 전달(message passing) 기법을 사용해 이루어 지며, 패킷(packet)을 사용해 시스템간 프로세스 사이를 이동한다.
  • 오류 탐지(Error detection) : 시스템에는 예측할 수 없는 오류가 언제나 발생할 수 있다. 운영체제는 이러한 사태에 대비해 언제나 각 타입에 오류에 대해 적당한 조치를 취할 준비가 되어 있어야 한다.


위에서 언급한 기능 외 시스템의 효율적 작동을 위한 기능들도 존재한다. 아래와 같은 기능을 통해 시스템의 효율성을 증진 시킬 수 있다.

  • 자원할당(Resource allocation) : 다수의 사용자, 다수의 작업이 실행될 때 운영체제는 각 요소에 대해 효율적으로 자원을 할당 할 수 있어야 한다. 
  • 회계Accounting) : 특정 사용자, 특정 작업이 시스템의 자원을 얼마나 사용하는지 확인할 수 있어야 한다.
  • 보호(Protection)와 보안(Security) : 기본적으로 서로 다른 프로세스간의 간섭을 허용해서는 안되며, 외부에서의 불법적이거나 위협적인 접근을 차단/제어할 필요도 있다. 운영체제는 이러한 위협요소에 대해 예방책(precaution, 혹은 보안정책)을 수립할 필요가 있다.




2.2 사용자 운영체제 인터페이스 (User Operation-System Interface)


2.2.1 명령 해석기(Command-Interpreter, CLI(Command Line Interface))

사용자의 운영체제 사이의 인터페이스로써 사용자로 부터 명령을 입력바당 해당 명령을 처리한다. 이러한 명령어 해석기를 쉘(shell)이라 부르며 리눅스의 Bash Shell, C Shell, Korn Shell 등이 이에 속한다.  명령어 해석기의 중요한 기능은 사용자가 입력한 명령을 시스템에서 가져와 그것을 실행하는 것이다.

솔라리스 쉘


2.2.2 그래피컬 사용자 인터 페이스(GUI, Graphical User Interface)

마우스를 가지고 화면상의 특정 이미지(아이콘)을 클릭하므로써 프로그램을 호출하거나 파일, 디렉토리를 선택할 수 있다. Microsoft 사의 Windows 운영체제 계열이나 Apple 사의 Mac OS 가 이에 속한다. Unix나 GNU/Linux 계열 역시 X-Window 나 KDE, GNOME과 같은 GUI 오픈소스 프로젝트가 있다.

우분투 유니티





Operating System Concepts

저자
Abraham Silberschatz, Peter B. Galvin, Greg Gagne 지음
출판사
홍릉과학출판사 | 2013-02-15 출간
카테고리
컴퓨터/IT
책소개
『Operating System Concepts』는 9개의 주요...
가격비교


프로필사진

Yowu (Yu Yongwoo)

백엔드 개발 정점을 꿈꾸는 흔한 개발자입니다
우분투 데스크탑 개발 환경을 매우 선호합니다
최근에는 vscode에 vim 모드 올려서 쓰고 있습니다
개발용 키보드는 역시 해피해킹 프로2 무각입니다
락 밴드에서 드럼을 꽤나 오래 쳤었습니다