정보처리기사

정보처리기사, 실기 요약 정리 (3. 운영체제)

greenyellow-s 2025. 3. 20. 16:11
728x90
반응형

운영체제 종류

윈도우 마이크로소프트사에서 개발한 운영체제
유닉스 미국 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가지 조건 중 하나 이상을 사전에 제거
회피 발생된 교착 상태를 적절히  피해가는 방법

은행원 알고리즘
발견 교착 상태에 있는 프로세스 및 자원을 발견 / 점검
회복 교착 상태 유발 프로세스 종료 / 프로세스 내 할당된 자원 선점

 

 

 

기억장치 관련 용어

스레싱 프로세스 처리 시간보다 페이지 교체 시간이 더 많아지는 상태

프로세스 처리 시간 < 페이지 교체 시간
지역성 프로세스 실행 간 주기억장치 참조 시 일부 페이지만 집중 참조

시간 구역성 : 한 페이지를 일정 시간 동안 집중적으로 액세스
공간 구역성 : 프로그램 실행 시 인접한 페이지들도 집중 참조
워킹 셋 일정 시간 동안 자주 참조하는 페이지들주기억장치에 상주시켜 페이지 부재 및 교체 현상을 최소화
→ 기억장치 사용 안정화
페이지 부재 프로세스 실행 중 필요한 페이지가 주기억장치에 누락(부재)

 

728x90
반응형