Computer Science/🔒 Operating System 11

[운영체제/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] 메모리 관리

"KOCW - 반효경 교수님의 운영체제" 를 듣고 정리한 내용입니다. Memory Management Logical Address vs Physical Address 메모리는 주소를 통해 접근하는 매체이다. Logical address (= virtual address) 프로세스마다 독립적으로 갖는 주소 공간 각 프로세스마다 0번지부터 시작 CPU가 바라보는 주소는 logical address Physical address 메모리에 실제 올라가는 위치 아랫 부분에는 운영체제 커널이, 윗 부분에는 여러 프로그램들이 섞여서 올라가 있음 특정한 프로그램이 물리적인 메모리 어디에 올라갈 지 결정하는 것을 주소 바인딩이라고 한다. 주소 바인딩 (Address Binding) Compile time binding ..

[운영체제/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 변수가 있고 ..