티스토리 뷰
반응형
- 참고 도서는 '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개의 주요...
반응형
'컴퓨터공학' 카테고리의 다른 글
Nachos Project 01 : Nachos 시스템 소개 (0) | 2014.05.09 |
---|---|
운영체제 05 : 시스템 프로그램 (System Programs) (0) | 2014.04.29 |
운영체제 04 : 시스템 콜 (시스템 호출, System Call) (0) | 2014.04.28 |
운영체제 02 : 운영체제 과목 전체 개요 - 2 (2) | 2014.04.22 |
운영체제 01 : 운영체제 과목 전체 개요 - 1 (2) | 2014.04.20 |
자료구조 02 : 선택 정렬 (Selection Sort) (3) | 2014.04.18 |
CentOS 6.5 리눅스에 JSP 서비스를 위한 Tomcat 설치하기 (25) | 2014.04.11 |