티스토리 뷰


  • 참고 도서는 '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)

My MBTI type is ENTP. (Of course I do not believe it 100%, but I want to do that) I use Node.js to develop the backend. I use Ubuntu Linux as my development environment, and I love Vim. I am interested in open source and are keen to contribute. I have a bachelor's degree in computer science from Catholic University and now a software engineer at Plating Inc., I spent about 5 years developing and learning, and I am still interested in software development and culture. Recently, I am interested in React, Serverless structure, Domain Design Driven. Sometimes I play drums in the band.