Kim Seon Deok
[OS] Introduction 본문
운영체제란?
PC 안에는 운영체제가 설치되어 있다.
보통 프로그램은 instruction의 집합으로, 컴퓨터의 하드디스크 안에 실행파일 형태로 들어있다.
프로그램을 실행하려면 메인메모리로 프로그램을 내장시켜야 하는데, 이 역할을 운영체제가 담당한다.
운영체제는 컴퓨터 하드웨어를 잘 관리하여 성능을 높이고 사용자에게 편의성을 제공하기 위한, 컴퓨터 하드웨어를 관리하는 프로그램이다.
운영체제는 control program for computer이다.
Booting
메인메모리의 대부분은 휘발성인 RAM이 차지하고 나머지는 비휘발성인 ROM이 차지한다.
1. 컴퓨터 전원이 켜지면 프로세서는 ROM을 읽어옴
2. ROM은 POST(Post On Self Test)프로그램 읽어옴 → 전원을 켜면 컴퓨터의 환경설정 테스트
3. 부트로더(Boot loader) 실행
4. 하드디스크에서 OS를 메인메모리의 RAM영역으로 로드 → BOOTING
5. OS는 전원이 꺼질때까지 메인메모리에 머무름 → main memory resident
운영체제의 위치
OS는 하드웨어와 어플리케이션 사이에서 중개자 역할을 한다.
OS는 kernel과 shell로 구성된다.
kernel : os의 핵심부분. 여러 하드웨어 제어 및 관리의 핵심영역
shell : os의 껍질부분. 사용자로부터 명령을 받아들여 그 명령을 interpret한 다음 해당 명령을 실행
application : os 위에서 실행되는 일반적인 프로그램. → 프로그램이 수행되기 위해선 os 반드시 필요하다.
운영체제의 역할
- 자원 관리자
- 자원 할당자
컴퓨터시스템은 문제를 해결하기 위해 요구되는 CPU시간, 메모리 공간, 저장장치 공간, 입출력장치 등을 가진다. 자원에 대해 서로 상충할 수도 있는 많은 요청이 있기 때문에 운영체제는 컴퓨터 시스템을 효율적이고 공정하게 운영할 수 있도록 어느 요청에 자원을 할당할지를 결정해야 한다.
역사
- 1940 ~ 1950년대 컴퓨터
operating system이 없었다. 컴파일러, 링커, 로딩과정을 operator가 일일이 손으로 했다.
- Batch processing(일괄 처리)
최초의 os시스템이 개발되었다. 메모리 안에 컴파일러, 링커, 로딩과정을 담당하는 부분을 넣어주었다.
→ Resident monitor
- Multi programming(다중 프로그래밍)
cpu는 빠르고 I/O는 느리다.
cpu idle : cpu가 아무것도 하지 않고 놀고 있는 상태
cpu scheduling, memory관리에 신경쓰기 시작 → 메모리에 여러 user program을 올림 → idle time 감소 → user program 간 침범을 막기 위해 보안에 신경쓰기 시작
- Time Sharing System (TSS)
단일 CPU를 사용한 가장 최신의 os이다. 강제 절환, interactive system.
가상 메모리, 프로세스 간 통신, 동기화(synchronization)
메인메모리에 올라와 있는 여러 유저 프로그램을 하나씩 일정 시간동안 수행하는데, 일정 시간이 지나면 강제적으로 스위칭한다. 이 일정시간이 짧아지면, 여러 프로그램이 동시에 수행되는 것처럼 보이는 효과가 있다.
고등 운영체제 (Advanced os)
고성능 컴퓨터 os기술로 사용되는 기술
- Batch processing
- Multiprogramming
- Timesharing
- 다중 프로세서 시스템 (Multiprocessor system)
- 병렬 시스템
- 강결합 시스템 : 메인메모리를 서로 공유하므로 굉장히 강하게 결합한다.
- cpu수가 증가해 계산량이 증가하고 가격은 내려가며 하나의 cpu가 고장나도 나머지를 사용하면 되기 때문에 신뢰도 증가
- multiprocessor OS
- 분산 시스템 (Distributed system)
- 다중 컴퓨터 시스템
- 소결합 시스템 : cpu 3개가 하나의 LAN에 연결되어있다. 서로 계산하면서 정보를 주고받는다. 메인메모리는 멀리 떨어져있고 LAN상에서 느슨하게 결합
- distributed OS : 하나의 일을 여럿이서 나누어서 실행
- 실시간 시스템 (Real time system)
- 컴퓨터로 프로그램을 수행할 때 그 프로그램이 특정 시간 안에 반드시 끝나야 하는 시스템 → Deadline
- 시간 제약 : Deadline
- 공장 자동화
- 실시간 운영체제 (Real - time OS = RTOS) → 단순히 빠르기만 해서 좋은 것 x
'운영체제' 카테고리의 다른 글
[OS] Classical Synchronization Problems (2) | 2022.11.29 |
---|---|
[OS] Thread, Process Synchronization, Semaphore (0) | 2022.11.27 |
[OS] Process Management, CPU scheduling (0) | 2022.11.23 |
[OS] OS service (0) | 2022.11.23 |
[OS] Interrupt, Dual mode, HW Protection (0) | 2022.11.23 |