1. Summary
- Operating System: 사용자(user)와 컴퓨터 하드웨어 사이에서 중개자 역할을 하면서, 프로그램의 실행을 관리하고 제어하는 시스템 소프트웨어
- 자원(Resource): 컴퓨터 시스템(Computer System)에서 사용되는 모든 자원
- 독점(Exclusive): Resource에 대한 접근(Access)와 관리 권한(Permission)은 오직 운영체제(Operating System)만 가지고 있는 것
- 관리자(Supervisor): 운영체제(Operating System)는 모든 프로그램의 실행을 관리하는 역할을 한다.
- 커널(Kernel): Operating System의 핵심 부분으로 컴퓨터 하드웨어와 소프트웨어 사이의 인터페이스를 제공하는 소프트웨어
- Features of Operating System
- CPU / Process Management
- Memory Management
- File System Management
- Device Management
- Network Management
- Security Management
- 해당 내용은 출처에서 밝히고 있는 ‘명품 운영체제’의 내용을 정리한 것입니다.
- 오류가 있을 수 있습니다.
2. Introduction of the Operating System
2-1. Operating System
- 운영체제(Operating System)
- 사용자(user)와 컴퓨터 하드웨어 사이에서 중개자 역할을 하면서, 프로그램의 실행을 관리하고 제어하는 시스템 소프트웨어
- 컴퓨터가 켜질 때 메모리에 적재되어 모든 프로그램의 실행을 제어하고 사용자의 요청을 처리해주는 소프트웨어
- 컴퓨터의 자원을 독점적으로 관리하는 특별한 소프트웨어
- 운영체제의 예
- Windows, macOS, Linux, Unix 등
2-1-1. Resource
- 자원(Resource)
- 컴퓨터 시스템(Computer System)에서 사용되는 모든 자원
- 컴퓨터를 구성하는 자원들
- Hardware Resource: CPU, Cache, RAM, Keyboard, Mouse, Display, Hard Disk, Printer 등
- Software Resource: Application 등
- Data Resource: Files, Database 등
- Operating System은 Computer Resource가 모든 user와 모든 application에게 공평하게 분배되도록 관리하는 software이다.
2-1-2. Exclusive
- 독점(Exclusive)
- Resource에 대한 접근(Access)와 관리 권한(Permission)은 오직 운영체제(Operating System)만 가지고 있는 것
- 예시: Hard disk에 저장되는 file의 저장 위치는 오로지 운영체제(OS)만 알고 있다. -> 관리 권한(permission)이 OS에게 있으므로
- Operating System만이 Resource를 Exclusive하게 관리하여 User들과 Application들로부터 훼손을 방지하고 그들 사이에 Resource를 효과적으로 공유(Share)할 수 있도록 하기 위함이다.
2-1-3. Supervisor
- 관리자(Supervisor)
- 운영체제(Operating System)는 모든 프로그램의 실행을 관리하는 역할을 한다.
-
- 사용자(user)에 대한 관리: 로그인 계정, 비밀 번호, 우선순위, 통계 정보 등
-
- 프로그램(application)의 실행에 대한 일체의 관리: 프로그램 적재, 프로그램에 대한 메모리 할당 및 메모리 보호, 프로그램의 스케줄링, 저장 공간 관리 등
-
- 성능 관리: 가능하면 많은 프로그램이 동시에 실행될 수 있도록 처리율을 높이고, 사용자에게 프로그램 실행에 대한 빠른 응답을 제공 -> 시스템 성능 극대화
-
- 보안 관리: 외부로부터의 보안 위협을 방지하고 보안 침해를 방지하는 역할을 한다.
2-1-4. Software
- 소프트웨어(Software)
- Operating System은 Software의 일종으로 컴퓨터 시스템을 관리하는 역할을 한다.
- 커널(Kernel): Operating System의 핵심 부분으로 컴퓨터 하드웨어와 소프트웨어 사이의 인터페이스를 제공하는 소프트웨어
- 관리 기능을 수행하는 핵심 코드
- Operating System이 설치된 Hard disk에 저장되어 있다가 컴퓨터가 부팅될 때 Memory에 적재 -> Application이 Kernel을 호출하여 CPU, Memory, Keyboard, Disk 등 Hardware를 제어하고 Access
- 도구 프로그램(Tool / Utility): 컴퓨터 시스템을 관리하는 목적으로 사용되는 프로그램
- 유저 인터페이스(User Interface, UI): 사용자가 컴퓨터 시스템을 사용하기 위한 인터페이스
- Shell, Explorer, Task Manager, Control Panel 등
- 디바이스 드라이버(Device Driver): 장치를 직접 제어하는 프로그램
2-2. Features of Operating System
- CPU / Process Management
- OS는 저장 장치에 저장된 program을 memory에 적재하고 실행 -> 프로세스(process)
- 여러 개의 process가 동시에 실행되는 경우, 이들을 관리하고 조정(예를 들어, 스케줄링(Scheduling) 등)하는 기능을 수행한다.
- Process execution, 새로운 process 생성, process가 입출력을 요청하거나 CPU allocation time을 다 소모하였을 때 프로세스를 일시 중단시키고 대기 중인 프로세스 중 하나를 선택(스케줄링), 프로세스 종료 등
- Memory Management
- OS는 memory를 효율적으로 관리하고 사용하는 기능을 수행한다.
- Memory allocation, deallocation, protection, etc.
- File System Management
- OS는 file size, location, user, 만든 날짜와 시간 등 file 정보와 전체 파일 시스템의 크기, 저장 장치의 빈 곳과 사용중인 곳 등 file system 정보를 관리한다.
- File read, write, delete 등 file을 다루는 모든 기능을 수행한다.
- Device Management
- Keyboard, Mouse, Display, Printer 등 다양한 input/output device와 storage device를 제어하고 physical input/output을 실행한다.
- Network Management
- Network device를 관리하고 network input/output을 실행한다.
- Security Management
- 외부의 공격으로부터 computer system과 user information을 보호한다.
- Others
- User information management: user의 login account, password, access permission 등
- Statistics collection: CPU, Memory, Disk 등의 사용량과 user의 access time 등
- Booting: 컴퓨터가 부팅될 때 수행되는 기능
출처
- 명품 운영체제, 황기태(ISBN: 978-89-7050-5251) - 책
댓글남기기