1. 운영체제의 역할
- User Interface(편리성)
* GUI : 컴퓨터를 켜면 아이콘이 있고 마우스가 있는 그림 형태
- Resource management(효율성)
* HW resource : processor, memory, I/O devices
* SW resource : file, application, message
- Process and Thread management
- System management(시스템 보호)
2. 운영체제의 구분
- 동시 사용자 수
* Single-user system : 한 명의 사용자만 시스템 사용. Windows
* Multi-user system : 동시에 여러 사용자들이 시스템 사용. Unix, Linux
- 동시 실행 프로세스 수
* 단일 작업 : 시스템 내에 하나의 작업(프로세스)만 존재. 한 작업이 끝나고 다른 작업 실행. MS-DOS
* 다중 작업 : 동시에 여러 작업 수행 가능. Unix, Linux, Windows
- 작업 수행 방식
* 일괄 처리 시스템(Batch System) : 사용자의 요청 작업을 일정 시간 모아 두었다가 한번에 처리
* 시분할 시스템(Time Sharing System) : 여러 프로그램을 일정 시간으로 분할해서 처리
* 개인 컴퓨터(Personal Computing) : 개인이 시스템 전체 독점
* Parallel Processing Systems : 단일 시스템 내에서 둘 이상의 프로세서 사용.
+ Tightly-coupled System : 둘 이상의 프로세서가 메모리 등의 자원을 공유
* Distributed Processing System : 네트워크를 기반으로 구축된 병렬처리 시스템
+ Loosely-coupled System
+ 예시 : client-server system, P2P
* Real-time system : 작업 처리에 제한된 시간을 갖는 시스템
+ Hard Real-time Task : 제한 시간 안에 무조건 결과를 알려줘야 하는 작업. 원자력 발전소 온도 체크
+ Soft Real-time Task : 제한 시간 안에 무조건 결과를 알려주지 않아도 되는 작업. 동영상 스트리밍
3. 운영체제의 구조
- 커널(Kernel) : OS의 핵심 부분으로 항상 메모리에 상주. 가장 빈번하게 사용되는 기능들 담담
- 유틸리티(Utility) : 비상주 프로그램. UI 등 서비스 프로그램
- 단일 구조 : 커널에 모든 것을 넣음
* 장점
+ 커널 내 모듈 간 직접 통신하여 효율적 자원 관리 및 사용
* 단점
+ 커널의 거대화로 오류 및 수정이 어려움. 마치 한 클래스에 모든 기능 넣는 것과 동일
- 계층 구조 : 기능별로 따로 만들어 놓음
* 장점
+ 모듈화하기 때문에 구현 및 수정이 용이
* 단점
+ 단계를 거치기 때문에 단일 구조 대비 성능 저하
4. 운영체제의 기능
- 프로세스 관리
* 프로세스 : 커널에 등록된 실행 단위(실행 중인 프로그램)
* OS의 프로세스 관리 기능 : 생성/삭제, 자원 할당, 프로세스 간 통신 및 동기화, 교착 상태 해결
- 프로세서(CPU) 관리
* 프로세스 스케쥴링 : 시스템 내의 프로세스 처리 순서 결정
- 메모리 관리
* 주기억장치 : 작업을 위한 프로그램 및 데이터를 올려 놓는 공간
* 메모리 할당 및 회수, 여유 공간 관리, 할당 메모리 영역 접근 보호
- 파일 관리
* 파일: 논리적 데이터 저장 단위
* 파일 및 디렉터리 생성 및 삭제
- 입출력 관리
* OS를 거쳐서 입출력
본 내용은 한국기술교육대학교 김덕수 교수님의 유튜브 강의를 듣고 정리한 내용입니다.
'Software Courses > Operating System' 카테고리의 다른 글
Process Synchronization and Mutual Exclusion (0) | 2020.12.02 |
---|---|
Process Scheduling (0) | 2020.12.01 |
Thread 관리 (0) | 2020.11.30 |
Process 관리 (0) | 2020.11.30 |
OS Overview 1 (0) | 2020.11.29 |