운영체제
컴퓨터 하드웨어 바로 위에 설치되어, sw와 hw를 연결하는 sw 계층
- 좁은 의미 : 커널(운영체제의 핵심, 부팅 이후 항상 메모리에 상주)
- 넓은 의미 : 각종 시스템들
운영체제의 목적
1. 자원을 효율적으로 관리하는 것
- hw 자원(cpu, 메모리, I/O 장치 등)을 관리
- sw 자원(프로세스, 파일, 메시지 등)을 관리
- 형평성있는 자원 배분
2. 사용자가 편리하게 컴퓨터를 사용할 수 있는 환경을 제공하는 것.
운영체제의 분류
✅ 동시 작업 가능 여부를 기준으로 2가지로 나뉜다.
1. 단일 작업(single tasking)
- 한 번에 하나의 작업만 처리
- ex) MS-DOS 프롬프트
2. 다중 작업(multi tasking)
- 동시에 두 개 이상의 작업 처리
- ex) UNIX, MS Windows
✅ 사용자의 수에 따라 2가지로 나뉜다.
1. 단일 사용자(single User)
2. 다중 사용자(multi User)
✅ 처리 방식에 따라 3가지로 나뉜다.
1. 일괄 처리(batch processing)
- 작업 요청을 모아뒀다가 한꺼번에 처리
- 작업이 완전히 종료될 때까지 기다려야 한다.(not Interactive)
2. 시분할(time sharing)
- Interactive : 바로바로 결과가 나옴. -> 짧은 응답 시간
- 여러 작업을 수행할 때 컴퓨터 수행 능력을 수행해야하는 일에 분할하여 줌으로써 여러가지 일을 동시에 처리하게됨.
3. 실시간(Realtime OS)
- 정해진 시간 안에 어떤 일이 반드시 종료됨이 보장되어야 함. 정교함 ⬆️
- 예) 공장 제어, 미사일 제어, 반도체 장비..
- Hard realtime system, Soft realtime system
왜 OS를 배우는가?
1. Abstraction : 한정된 컴퓨터 자원을 실세계와 비교하여, 잘 사용하기 위해서
2. System design : 프로그래머는 항상 trace offs 문제를 겪는다. (HW vs SW, 편리성과 수행능력, OS의 단순화와 수행능력)
3. Primary intersection point : OS는 하드웨어, 소프트웨어, 프로그래밍 언어, 자료구조, 알고리즘 등 모든 점의 교차로이다.
4. Curiosity : 내가 개발하는 환경 아래에 있는 무언가에 대한 호기심
'CS > OS' 카테고리의 다른 글
[OS] 프로세스 | 프로세스의 상태 | PCB | context switching (0) | 2023.04.07 |
---|---|
[OS] 컴퓨터 시스템 구조 | 저장장치 계층 | 프로그램 실행 과정 | 커널 | 동기식/비동기식 IO | DMA (0) | 2023.04.06 |
[OS] Mode bit | Device Controller | Interrupt (0) | 2023.03.17 |
[OS] os를 공부하기 위해 알아야 하는 용어들 (0) | 2023.03.10 |
[OS] Linker(링커)와 Linking(링킹) (1) | 2022.10.24 |