Operating System Summary
Operating System Summary
운영체제 정리 (정보처리기사)
1. 운영체제의 개요
- 운영체제(OS, Operating System) 하드웨어 자원을 효율적으로 관리하고 사용자가 컴퓨터를 편리하게 사용할 수 있도록 환경을 제공하는 시스템 소프트웨어. 응용 프로그램과 하드웨어 사이에서 인터페이스와 자원 관리자 역할 수행.
목표 (성능평가 기준)
- 처리능력(Throughput) – 일정 시간 내 처리 작업량
- 반환시간(Turnaround Time) – 작업 의뢰부터 완료까지 소요시간
- 사용가능도(Availability) – 필요 시 즉시 사용 가능
- 신뢰도(Reliability) – 정확한 결과 도출
2. 운영체제의 운영 방식
- Batch Processing (일괄 처리) – 사용자 개입 없이 작업을 모아 처리
- Time Sharing (시분할) – 여러 사용자가 동시에 사용하는 것처럼 CPU 분할 사용
- Multiprogramming (다중 프로그래밍) – CPU와 I/O 장치 동시 활용
Real-Time System (실시간 처리) – 입력을 일정 시간 내 즉시 처리
- Hard RTOS: 마감시간 엄격 보장
- Soft RTOS: 상대적으로 유연
3. 프로세스 관리
- 프로세스(Process): 실행 중인 프로그램
- PCB(Process Control Block): PID, 상태, 레지스터 값 등 저장
- 스레드(Thread): 프로세스 내 실행 단위(경량 프로세스)
프로세스 상태 전이:
- 준비(Ready) → 실행(Run) → 대기(Wait) → 준비/종료
- Dispatch: 준비 → 실행
- Wake up: 대기 → 준비
4. 교착 상태 (Deadlock)
발생 조건 (필요충분조건)
- 상호 배제(Mutual Exclusion)
- 점유와 대기(Hold and Wait)
- 비선점(Non-preemption)
- 환형 대기(Circular Wait)
해결 방법
- 예방 (Prevention), 회피 (Avoidance, 은행원 알고리즘)
- 발견 (Detection), 회복 (Recovery: 프로세스 종료/자원 선점)
5. 프로세스 스케줄링
- 목적: CPU 이용률 증가, 응답시간/대기시간 최소화, 공정성 보장
스케줄링 종류
- 장기(Long-term), 중기(Medium-term), 단기(Short-term)
알고리즘
- 비선점형: FCFS, SJF, HRN, 우선순위, Deadline
- 선점형: RR, SRT, 선점 우선순위, 다단계 큐, 다단계 피드백 큐
- 보완: 에이징(Aging, 기아 방지)
6. 기억 장치 관리
종류:
- 주기억장치 (RAM, ROM)
- 보조기억장치 (HDD, SSD 등)
- 캐시(Cache), 레지스터(Register)
전략:
- 반입(Fetch): 요구반입, 예상반입
- 배치(Placement): 최초적합, 최적적합, 최악적합
- 교체(Replacement): OPT, FIFO, LRU, LFU, NUR, SCR
7. 가상 기억 장치
- 정의: 보조기억장치 일부를 주기억장치처럼 활용
기법
- 페이징(Paging): 고정 크기 단위, 내부 단편화 발생
- 세그먼테이션(Segmentation): 논리 단위, 외부 단편화 발생
용어
- 지역성(Locality) – 시간/공간 집중성
- 워킹 셋(Working Set) – 일정 시간 자주 참조하는 페이지 집합
- 스래싱(Thrashing) – 과도한 페이지 교체로 성능 저하
8. 디스크 스케줄링
- FCFS: 단순, 탐색시간 비효율
- SSTF: 가까운 요청 우선, 기아 가능성
- SCAN: 헤드가 왕복하며 처리
- C-SCAN: 한쪽 끝까지 갔다가 처음으로 돌아와 처리 → 균등 서비스
9. 정보 관리
- 파일 시스템: 디렉토리 구조, 접근 권한 관리, 백업/복구
- I/O 관리: 버퍼링, 장치 드라이버, I/O 스케줄링
- 보안/보호: ACL(Access Control List), 인증, 암호화
10. 분산 운영체제
- 정의: 네트워크로 연결된 여러 컴퓨터를 하나의 시스템처럼 관리
- 특징: 위치/이주/중복/병행/고장 투명성
- 장점: 자원 공유, 신뢰성 향상, 확장성 우수
- 단점: 복잡성, 지연, 데이터 일관성 문제
11. UNIX / Linux
UNIX
- 1960년대 Bell Labs, MIT, GE에서 개발
- 철학: “모든 것은 파일이다”, 단순하고 강력한 인터페이스
- 특징: 다중 사용자, 다중 작업 지원 / 계층적 파일 시스템 / 쉘(Shell)과 커널(Kernel) 구조
- 종류: System V, BSD, Solaris, HP-UX 등
Linux
- 1991년 리누스 토발즈가 개발한 오픈소스 UNIX 계열 OS
- 다양한 배포판: Ubuntu, Fedora, CentOS, Debian 등
- 장점: 무료, 커뮤니티 기반 개발, 높은 보안성, 서버 시장 점유율 높음
- 스케줄러: Completely Fair Scheduler (CFS), 최신 커널은 확장된 스케줄링 알고리즘 지원
- 적용 분야: 서버, 클라우드, 모바일(Android 커널 기반), 슈퍼컴퓨터
맺음말
운영체제는 컴퓨터 자원의 관리자이자 사용자 환경의 제공자로, 프로세스·메모리·파일·입출력 관리 등 핵심 기능을 수행합니다. 정보처리기사 시험에서는 운영체제의 목적, 운영 방식, 스케줄링 알고리즘, 메모리 관리 기법, 교착상태 해결 방법, UNIX/Linux까지 출제됩니다.
This post is licensed under CC BY 4.0 by the author.