운영체제 기본 원리
컴퓨터의 운영 역할
CPU 구조
I/O 관리 소프트웨어
파일 시스템
다음과 같은 디렉토리 구조를 가진 파일 시스템에서 사용자가 rw.dll 파일에 접근하려고 하며 현재 작업 디렉토리는 stools인 경우
세 가지 상태 모델
프로세스 관리
비트맵(Bit Map)
(23) 4096/32+1=129
(24) 200*1024/1/32=6400
PV 연산 (Precedence Graph)
P- 감소, V- 증가, P 먼저 실행 후 V
// 세마포어 S의 초기값은 0
function P(S):
S = S - 1 // P 연산은 감소 연산
function V(S):
S = S + 1 // V 연산은 증가 연산
// P1이 종료되기 전에 V 연산을 수행하여 완료 알림
// P2가 종료되기 전에 P 연산으로 P1 완료 여부 확인
// S가 0이면 계속 진행, 아니면 대기
세마포어 메커니즘
스레드
프로세스 자원 그래프
두 가지 방식이 있으며 일반적으로 자원 할당 후 요청하는 순서로 진행
예제 1:
// 분석:
// (27) 먼저 할당, 그 다음 요청
// R1: P1에게 1개, P3에게 1개 할당 → 잔여 0개
// R2: P1에게 1개, P2에게 1개, P3에게 1개 할당 → 잔여 0개
// R3: P2에게 1개 할당 → 잔여 1개
// P1이 R2에 1개 요청 → R2 자원 없음 → P1 차단
// P2가 R1에 1개 요청 → R1 자원 없음 → P2 차단
// P3이 R3에 1개 요청 → R3 잔여 1개 있음 → P3 실행 가능
// 결과: P1, P2는 차단 노드, P3는 비차단 노드
// (28) P3 실행 가능하므로 축소 가능성 있음 → 우선순위 P3
// P3 실행 완료 후 자원 반환: R1에 1개, R2에 1개, R3에 1개
// 현재 상태:
// P1이 R2에 1개 요청 → 방금 P3이 해제한 1개 이용 가능 → P1 실행 가능
// P2가 R1에 1개 요청 → 방금 P3이 해제한 1개 이용 가능 → P2 실행 가능
// 따라서 정답은 B 선택
데드락 문제
자원 수 >= 프로세스 수 × (요청 수 - 1) + 1
프로그램 병행 실행 특성
- 프로그램의 폐쇄성 상실
- 프로그램과 기계 실행 활동 간 일대일 대응 관계 파괴
- 병행 프로그램 간 상호 의존성
세그먼트 페이징 관리
단일 버퍼 영역:
이중 버퍼 영역:
프로그램 지역성
페이지 교체 알고리즘
파일 관리
CIF 형식
인터럽트 벡터
인터럽트 벡터: 인터럽트 서비스 루틴의 진입 주소 제공
인터럽트 처리: 컴퓨터 실행 중 예기치 못한 이벤트 발생 시 CPU가 현재 프로그램 실행을 잠시 멈추고 해당 이벤트 처리를 위해 전환하며, 처리 완료 후 원래 프로그램으로 자동 복귀. 현장 정보 저장 목적은 원래 프로그램의 지속적 실행을 위함.