운영체제 요약 정리
1. 운영체제 종류
| 종류 | 설명 |
|---|
| 윈도우 | 마이크로소프트에서 개발한 운영체제 |
| 유닉스 | 커널(Kernel) + 셸(Shell) 구조, AT&T 개발 |
| 리눅스 | 유닉스 기반 오픈소스 운영체제 |
| MacOS / iOS | 애플의 유닉스 기반 운영체제 |
| Android | 구글의 리눅스 커널 기반 모바일 운영체제 |
2. UNIX 구성 요소
- 커널(Kernel): 하드웨어와 인터페이스, 자원 관리
- 셸(Shell): 사용자 명령어 해석기 (ex. bash, sh 등)
주요 셸 명령어: set, env, printenv, setenv
3. 주기억장치
RAM
- 휘발성 메모리, 읽기/쓰기 가능
- SRAM: 빠르나 비쌈 (캐시용)
- DRAM: 느리나 저렴 (일반 메모리)
ROM
- 비휘발성 메모리, 읽기 전용
- 종류: Mask ROM, PROM, EPROM, EEPROM
4. 기타 메모리
| 구분 | 특징 |
|---|
| 레지스터 | CPU 내부, 가장 빠름 |
| 캐시 메모리 | CPU-메모리 간 속도 차이 보완 |
| 가상 메모리 | 물리적 메모리보다 큰 메모리처럼 사용 |
| 플래시 메모리 | EEPROM 기반 비휘발성 저장장치 |
| 버퍼 메모리 | 입출력 속도 차이 해결 |
| 연관 메모리 | 내용 기반으로 접근 가능 |
하드웨어 처리 속도 순서: 레지스터 > 캐시 > 주기억장치 > 보조기억장치
5. 기억장치 관리 전략
| 전략 구분 | 설명 |
|---|
| 반입 전략 | 언제 데이터를 메모리에 불러올지 결정 (요구/예상) |
| 배치 전략 | 데이터를 어느 위치에 적재할지 결정 (최초/최적/최악 적합) |
| 교체 전략 | 어떤 페이지를 제거할지 결정 (FIFO, LRU 등) |
6. 페이지 교체 알고리즘
| 알고리즘 | 설명 |
|---|
| OPT | 미래에 가장 오래 사용되지 않을 페이지 제거 |
| FIFO | 가장 먼저 들어온 페이지 제거 |
| LRU | 가장 오랫동안 사용되지 않은 페이지 제거 |
| LFU | 사용 빈도가 가장 낮은 페이지 제거 |
FIFO는 Belady’s anomaly가 발생할 수 있음
7. 프로세스 (Process)
- 실행 중인 프로그램
- PCB: 프로세스 제어 블록
상태 전이
New → Ready → Run → Terminated
(중간에 Blocked, Waiting 포함)
8. 스케줄링 기법
비선점 방식
| 기법 | 설명 |
|---|
| FCFS | 도착 순서 |
| SJF | 실행 시간 짧은 순 |
| HRN | 응답률 계산 후 우선순위 |
선점 방식
| 기법 | 설명 |
|---|
| Round Robin | 시간 할당량 기반 |
| SRT | 남은 시간 기준 선점 |
| 다단계 큐 | 큐 별로 다른 우선순위 |
| 다단계 피드백 큐 | 하위 큐 이동 가능 (우선순위 동적 변경) |
9. 교착 상태 (Deadlock)
발생 조건 (4가지)
- 상호 배제
- 점유와 대기
- 비선점
- 환형 대기
해결 방법
| 방법 | 설명 |
|---|
| 예방 | 발생 조건 중 제거 |
| 회피 | Banker's Algorithm |
| 발견 | 탐지 후 해결 |
| 회복 | 프로세스 종료/자원 회수 등 |
10. 기타 개념
스레드
기업환경 용어
| 용어 | 설명 |
|---|
| 스래싱 | 페이지 교체 과도 발생으로 성능 저하 |
| 지역성(Locality) | 특정 데이터/코드 집중 참조 현상 |
| 워킹셋 | 일정 시간 내 참조되는 페이지 집합 |
| 페이지 부재(Page Fault) | 메모리에 없는 페이지 접근 시 디스크에서 로딩 |