운영체제(Operation System 개요
운영체제(Operation System, OS) 정의
운영체제: 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층
- 좁은 의미의 OS: 커널 - 운영체제의 핵심 부분으로 메모리에 상주하는 부분
- 넓은 의미의 OS: 커널 뿐 아니라 각종 주변 시스템 유틸리티를 포함한 개념(리눅스, 윈도우 등)
운영체제의 목적
- 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공 - 동시 사용자가 각각 독자적 컴퓨터에서 수행되는 것 같은 환상 제공
- 컴퓨터 시스템의 자원을 효율적으로 관리 - 단일 작업만 가능했는데, 다중 작업도 가능
운영체제의 분류
동시 작업 가능 여부
- 단일 작업: 한 번에 하나의 작업만 처리 ex. MS-DOS(cmd창)
- 다중 작업: 동시에 두 개 이상의 작업 처리. ex. Unix, MS windows
사용자의 수
- 단일 사용자: MS-DOS, MS-Windows
- 다중 사용자: UNIX, NT server
처리 방식
- 일괄 처리 방식
- 시분할 방식: 컴퓨터 처리 능력을 일정한 시간 단위로 분할하여 사용
- Realtime OS: 정해진 시간 안에 어떠한 일이 반드시 종료됨이 보장되어야 함.
- Hard Realtime: ex. 원자로
- Soft Realtime: ex. 영화 및 라이브 방송
운영체제의 예
- UNIX: 높은 이식성, 최소한의 커널 구조, 코드의 대부분을 C언어로 작성, 소스 코드 공개
- DOS => MS Windows: 멀티 태스킹 가능, GUI 기반, 풍부한 지원 소프트웨어
운영체제 구조
CPU 스케줄링
- 누구한테 CPU를 줄까?
메모리 관리
- 한정된 메모리를 어떻게 쪼개어 쓰지?
파일 관리
- 디스크에 파일을 어떻게 보관하지?
입출력 관리
- 각기 다른 입출력장치와 컴퓨터간에 어떻게 정보를 주고 받게 하지?
프로세스 관리
- 프로세스의 생성과 삭제, 자원 할당 및 반환, 프로세스 간 협력
그 외
- 보호 시스템, 네트워킹, 명령어 해석기(command line interpreter)
용어 정리
컴퓨터에서 여러 작업을 동시에 수행하는 것을 뜻하는 용어
- Multitasking
- Multiprogramming - 여러 프로그램이 메모리에 올라가 있음을 강조
- Time sharing - CPU의 시간을 분할하여 나누어 쓴다는 의미 강조
- Multiprocess
- Multiprocessor (Multi-core) - 하나의 컴퓨터에 CPU(processor)가 여러 개 붙어 있음을 의미
'CS > 운영체제' 카테고리의 다른 글
06. Deadlocks (1) | 2023.11.21 |
---|---|
05. Process Synchronization (0) | 2023.11.13 |
[Week4] CPU Scheduling (0) | 2023.11.02 |
Week3: 프로세스(Process) 관리 (1) | 2023.10.28 |
Week 2: 시스템 구조 및 프로그램 실행 (1) | 2023.10.18 |