반효경 운영체제 10

[운영체제/Operating System] 파일 시스템 구현

"KOCW - 반효경 교수님의 운영체제" 를 듣고 정리한 내용입니다. File Systems Implementation Allocation of File Data in Disk Contiguous Allocation Linked Allocation Indexed Allocation Contiguous Allocation (사진 출처 - questionsolves) 장점 fast I/O 한 번의 seek/rotation 많은 바이트 transfer realtime file 용으로, 혹은 이미 실행 중이던 프로세스의 swapping 용 direct access (= random access) 가능 단점 external fragmentation (hole 발생) file grow가 어려움 파일 크기가 커질 것..

[운영체제/Operating System] 파일 시스템

"KOCW - 반효경 교수님의 운영체제" 를 듣고 정리한 내용입니다. File Systems File and File System File A named collection of related information 일반적으로 비휘발성의 보조기억장치에 저장 (하드디스크) 운영체제는 다양한 저장 장치를 file 이라는 동일한 논리적 단위로 볼 수 있게 해줌 operation create, read, write, reposition (lseek), delete, open, close 등 File attribute (= metadata) 파일 자체의 내용이 아니라 파일을 관리하기 위한 각종 정보들 파일 이름, 유형, 저장된 위치, 접근 권한, 소유자 등 File system 운영체제에서 파일을 관리하는 부분 파..

[운영체제/Operating System] 가상 메모리

"KOCW - 반효경 교수님의 운영체제" 를 듣고 정리한 내용입니다. Virtual Memory Demand Paging 페이지가 요청됐을 때 메모리에 올리는 것 I/O 양의 감소 메모리 사용량 감소 빠른 응답 시간 더 많은 사용자 수용 Valid / Invalid bit 사용 invalid 사용되지 않는 주소 영역인 경우 페이지가 메모리에 올라와있지 않고 backing store에 있는 경우 처음에는 모든 페이지 엔트리가 invalid로 초기화 page fault 요청한 페이지가 메모리에 없는 경우 = 페이지 테이블에 invalid로 세팅되어 있는 경우 CPU가 운영체제에게 넘어감 (일종의 SW interrupt) Page Fault invalid page를 접근하면 MMU가 trap을 발생시킴 (pa..

[운영체제/Operating System] 교착 상태 (Deadlock)

"KOCW - 반효경 교수님의 운영체제" 를 듣고 정리한 내용입니다. Deadlocks 교착상태 (Deadlock) Deadlock 일련의 프로세스들이 서로가 가진 자원을 기다리며 block된 상태 Resource 하드웨어, 소프트웨어 등을 포함하는 개념 ex) I/O device, CPU cycle, memory space, semaphore 등 프로세스가 자원을 사용하는 절차 Request → Allocate → Use → Release Example 시스템에 2개의 tape drive가 있는데 프로세스 A와 B가 각각 하나의 tape drive를 보유한 채 다른 하나를 기다리는 경우 Binary semaphores A and B 프로세스 0이 A를 획득한 상황에서 CPU가 프로세스 1에게 할당되고,..

[운영체제/Operating System] 프로세스 동기화

"KOCW - 반효경 교수님의 운영체제" 를 듣고 정리한 내용입니다. Process Synchronization 데이터의 접근 컴퓨터 시스템에서 데이터 연산은 저장 공간과 실행 공간이 아래와 같은 시퀀스로 동작하면서 이루어진다. 저장 공간에 데이터가 있다. 연산할 데이터를 실행 공간으로 가져온다. 실행 공간에서 연산한다. 연산 결과를 저장 공간에 반영한다. 추상적인 표현으로 저장 공간, 실행 공간이라는 말을 썼는데 실행 공간은 CPU나 프로세스, 컴퓨터 내부 등이 있고, 저장 공간은 메모리나 해당 프로세스의 주소 공간, 디스크 등이 있다. Race Condition 저장 공간을 공유하는 실행 공간이 여러 개 있는 경우 race condition 가능성이 있다. 예를 들어 메모리에 count 변수가 있고 ..

[운영체제/Operating System] CPU 스케줄링

"KOCW - 반효경 교수님의 운영체제" 를 듣고 정리한 내용입니다. CPU Scheduling CPU-burst Time의 분포 (사진 출처 - 티스토리) 여러 종류의 job (process)이 섞여있어 CPU 스케줄링이 필요하다. CPU와 I/O 장치 등 시스템 자원을 골고루 사용해야 한다. 프로세스의 특성 분류 I/O bound process many short CPU bursts 주로 사람과 interaction하는 프로세스 I/O 개입이 많아 CPU burst가 짧은 경우 CPU bound process few very long CPU bursts 계산 위주의 프로세스 ex) 10,000 by 10,000 행렬의 곱셈 연산 I/O 개입이 적어 CPU burst가 긴 경우 CPU scheduler..