운영체제 종류
윈도우 | 마이크로소프트사에서 개발한 운영체제 |
유닉스 | 미국 AT&T 벨연구소에서 개발한 운영체제 |
리눅스 | 리눅스 토발즈가 유닉스를 기반으로 개발한 운영체제 |
MacOS / iOS | 애플이 유닉스 기반으로 개발한 운영체제 |
Android | 구글이 리눅스 커널 기반으로 개발한 개방형 모바일 운영체제 |
UNIX 구성 요소 ★
커널 | 하드웨어 보호 프로그램 및 하드웨어 간 인터페이스 역할 |
쉘 | 사용자의 명령 인식/해석 후 커널로 전달, 명령을 수행 시스템과 사용자간 인터페이스 역할 |
주기억장치
RAM | 휘발성 SRAM - 속도 빠름, 재충전 불필요, 캐시 DRAM - 속도 느림, 재충전 필요, 주기억 |
ROM | 비휘발성 Mask ROM - 임의 수정 불가 PROM - 한번만 기록, 그 이후는 읽기만 가능 EPROM - 자외선 신호 이용 EEPROM - 전기 신호 이용 (플래쉬 메모리) |
기타 메모리
레지스터 | CPU 내부에서 처리할 명령어나 연산의 중간 값 등을 일시적으로 저장하는 휘발성 메모리 메모리 중 가장 빠른 속도 |
캐시 메모리 | SRAM을 이용하여 CPU와 주기억장치 사이의 속도 차이 해결 캐시 적중률이 높을수록 시스템 처리 속도 증가 |
가상 메모리 | 보조기억장치를 주기억장치처럼 사용하는 메모리 기억 용량 확대 |
플래시 메모리 | MP3나 디지털 카메라 등에서 사용되는 일종의 EEPROM - 비휘발성 |
버퍼 메모리 | 데이터 일시적으로 저장해 두 장치 간 데이터 전송 속도 차이 해결 |
연관(연상) 메모리 | 저장된 데이터의 일부를 이용하여 기억장치에 접근 후 데이터 확인 내용 참조 (매핑 -mapping 방식) |
처리 속도 : 레지스터 > 캐시 메모리 > 주기억장치 > 보조기억장치
기억 장치 관리 전략
반입 전략 | 요구 반입 | 요구할 때 적재 |
예상 반입 | 예상되는 데이터를 미리 적재 | |
배치 전략 | 최초 적합 | 사용 가능한 '첫 번째' 분할 영역에 데이터 배치 |
최적 적합 | 단편화를 '최소화' 하는 분할 영역에 데이터 배치 | |
최악 적합 | 단편화를 '최대화'하는 분할 영역에 데이터 배치 | |
교체 전략 | 새로운 데이터를 배치하고자 할 때 기존 사용 중 데이터를 교체 ex. FIFO, OPT, LRU, LFU, NUR ... |
페이지 분할 기법
1. 페이징 기법
동일한 크기로 분할 후 나눠진 프로그램(페이지)을 동일하게 나눠진 주기억장치의 영역에 배치하여 실행
작은 페이지 크기 : 페이지 단편화 ▼ / 페이지 이동시간 ▼ / 워킬 셋 유지
맵 테이블 크기 ▲ → 매핑 속도 ▼ / 입출력 시간 ▲
큰 페이지 크기 : 맵 테이블 크기 ▼ → 매핑 속도 ▲ / 입출력 시간 ▼
2. 세그먼테이션 기법
다양한 크기의 논리적 단위로 분할 후 주기억장치에 배치 및 실행
★ Paging 기법은 동일 일정 크기로 분할
페이지 교체 알고리즘
OPT | 앞으로 가장 오랫동안 사용하지 않을 페이지 교체 |
FIFO First-In First-Out |
가장 먼저 들어와 가장 오래 있었던 페이지 교체 |
LRU Least Recently Uesd |
최근 가장 오랫동안 사용하지 않은 페이지 교체 |
LFU Least Frequently Used |
사용 빈도가 가장 적은 페이지 교체 |
* FIFO 페이지 교체 알고리즘 사용하여 페이지 결함 발생 횟수 구하기
정답 : 6
참조 페이지 | 1 | 2 | 3 | 1 | 2 | 4 | 5 | 1 |
페이지 프레임 |
1 | 1 | 1 | 1 | 1 | 1 | 5 | 5 |
2 | 2 | 2 | 2 | 2 | 2 | 1 | ||
3 | 3 | 3 | 3 | 3 | 3 | |||
4 | 4 | 4 | ||||||
부재 발생 | ✔︎ | ✔︎ | ✔︎ | (이미 있음) | (이미 있음) | ✔︎ | ✔︎ | ✔︎ |
프로세스 (Process)
프로세서(CPU)에 의해 처리되는 사용자/시스템 프로그램

★ Dispatch : 준비 상태에서 대기 중인 프로세스가 실행 상태로 전이되는 과정
★ Wake up : 입출력 작업이 완료되어 프로세스가 대기 상태에서 준비 상태로 전이
Context Switching : 이전 프로세스의 상태 레지스터 내용 보관하고 다음 프로세스의 레지스터를 적재하는 과정
스레드(Thread)
프로세스 내 작업 단위 / 프로그램 단위
단일 : 하나의 프로세스에 하나의 스레드
다중 : 하나의 프로세스에 복수의 스레드
사용자 수준 | 사용자가 만든 라이브러리를 이용한 스레드 운용 속도 빠르나 구현 어려움 |
커널 수준 | 운영체제의 커널에 의한 스레드 운용 구현 쉬우나 속도 느림 |
스케줄링
여러 프로세스의 처리 순서를 결정하는 기법
1. 선점형
운영체제가 실행 중인 프로세서로부터 CPU를 강제 빼앗음
Round Robin | 우선순위 없이 시간 단위로 CPU 할당 |
SRT | 비선점 SJF 기법을 선점 스케줄링 형식으로 변경 → 실행 시간이 가장 짦은 프로세스에 CPU 우선 할당 |
다단계 큐 | 그룹화 후 각 그룹마다 다른 준비 상태 큐를 사용 → 상위 준비 상태 큐 유입 시 상위 프로세서에 CPU 우선 할당 |
다단계 피드백 큐 | 프로세스 생성시 가장 높은 우선 순위 준비 큐에 등록되며 등록된 프로세스는 FCFS 순서로 CPU를 할당 받아 실행 |
2. 비선점형
기존 프로세서가 점유하고 있는 CPU를 빼앗을 수 없음
FCFS | 프로세서 도착 순서에 따라 처리 순서 결정 (= FIFO) |
SJF | 준비 상태의 프로세서 중 실행 시간이 가장 짧은 것부터 처리 |
HRN | 우선 순위를 계산하여 프로세스의 처리 순서 결정 ★ 우선순위 = (대기시간 + 서비스 시간) / 서비스 시간 실행시간이 긴 프로세서가 불리한 SJF 보완 |
교착 상태
둘 이상의 프로세스들이 서로 점유하고 있는 자원을 요구하며 무한정 대기하고 있는 상태
[ 교착상태 필요 충분 조건 ]
상호 배제 | 한 번에 한 개의 프로세스만이 공유 자원을 사용 |
점유 및 대기 | 최소한 하나의 자원을 점유하면서 다른 프로세스에 할당된 자원을 추가로 점유하기 위해 대기하는 프로세스 존재 |
비선점 | 다른 프로세스에 할당된 자원은 끝날때 까지 강제로 선점 불가 |
환형 대기 | 프로세스들이 원형으로 구성되어 있어 앞/뒤 프로세스 자원을 요구 |
[ 교착 상태 해결 방법 ]
예방 | 교착 발생 4가지 조건 중 하나 이상을 사전에 제거 |
회피 | 발생된 교착 상태를 적절히 피해가는 방법 은행원 알고리즘 |
발견 | 교착 상태에 있는 프로세스 및 자원을 발견 / 점검 |
회복 | 교착 상태 유발 프로세스 종료 / 프로세스 내 할당된 자원 선점 |
기억장치 관련 용어
스레싱 | 프로세스 처리 시간보다 페이지 교체 시간이 더 많아지는 상태 프로세스 처리 시간 < 페이지 교체 시간 |
지역성 | 프로세스 실행 간 주기억장치 참조 시 일부 페이지만 집중 참조 시간 구역성 : 한 페이지를 일정 시간 동안 집중적으로 액세스 공간 구역성 : 프로그램 실행 시 인접한 페이지들도 집중 참조 |
워킹 셋 | 일정 시간 동안 자주 참조하는 페이지들을 주기억장치에 상주시켜 페이지 부재 및 교체 현상을 최소화 → 기억장치 사용 안정화 |
페이지 부재 | 프로세스 실행 중 필요한 페이지가 주기억장치에 누락(부재) |
'정보처리기사' 카테고리의 다른 글
정보처리기사, 실기 요약 정리 (5. 정보보안) (0) | 2025.03.26 |
---|---|
정보처리기사, 실기 요약 정리 (4. 네트워크) (1) | 2025.03.26 |
정보처리기사, 실기 요약 정리 (2. 데이터베이스) (0) | 2025.03.20 |
정보처리기사, 실기 요약 정리 (1. 소프트웨어 구축) (1) | 2025.03.19 |
정보처리기사 실기, 요구사항 확인 (1) | 2025.02.11 |