본문 바로가기

CS/운영체제

(20)
[운영체제] 12. Disk Management and Scheduling 더보기 kocw 반효경 교수님의 운영체제 강의를 수강 후 작성한 글입니다. 1. Disk Structure and Management Disk Structure Logical block 디스크의 외부에서 보는 디스크의 단위 정보 저장 공간들 주소를 가진 1차원 배열처럼 취급 정보를 전송하는 최소 단위 Sector Logical block이 물리적인 디스크에 매핑된 위치 Sector 0은 최외곽 실린더의 첫 트랙에 있는 첫 번째 섹터 Disk Management Physical formatting(Low-level formatting) 디스크를 컨트롤러가 읽고 쓸 수 있도록 섹터들로 나누는 과정 각 섹터는 header+실제 data(보통 512bytes)+trailer로 구성 header와 trailer는..
[운영체제] 11. File System Implementation 더보기 kocw 반효경 교수님의 운영체제 강의를 수강 후 작성한 글입니다. 1. Allocation of File Data in Disk Contiguous Allocation 단점 External fragmentation File grow가 어려움 파일 생성 시 얼마나 큰 hole을 배당할 것인가? grow 가능 v.s. 낭비(hole을 크게 배당했는데 grow를 안하는 경우 - internal fragmentation 발생, 공간 낭비) 장점 Fast I/O 한번의 seek/rotation으로 많은 바이트 transfer 가능 (데이터가 연속으로 있어서) Realtime file용(빠른 I/O가 필요)으로, 또는 이미 run 중이었던 process의 swapping 용(영구저장을 할 필요가 없는 임시..
[운영체제] 10. File Systems 더보기 kocw 반효경 교수님의 운영체제 강의를 수강 후 작성한 글입니다. 1. File and File System File "A named collection of related information" 일반적으로 비휘발성의 보조기억장치에 저장 운영체제는 다양한 저장 장치를 file이라는 동일한 논리적 단위로 볼 수 있게 해줌 Operation: create, read, wrtie, reposition(iseek), delete, open, close 등 Metadata(=File attribute) 파일 자체의 내용이 아니라 파일을 관리하기 위한 각종 정보들 파일 이름, 유형, 저장된 위치, 파일 사이즈 접근 권한(read/write/execute), 시간(생성/변경/사용), 소유자 등 File Sy..
[운영체제] 9. Virtual Memory (2) 더보기 kocw 반효경 교수님의 운영체제 강의를 수강 후 작성한 글입니다. 1. Page Frame의 Allocation Allocation Problem: 각 process에 얼마만큼의 page frame을 할당할 것인가? Allocation의 필요성 메모리 참조 명령어 수행 시 명령어, 데이터 등 여러 페이지를 동시 참조함. 따라서 명령어 수행을 위해 최소한 할당되어야 하는 frame 수가 있음 Loop를 구성하는 page들은 한꺼번에 allocate되는 것이 유리함. 최소한의 allocation이 없으면 매 loop 마다 page fault가 발생할 것임 Allocation Scheme Equal allocation: 모든 프로세스에 똑같은 갯수 할당 Proportional allocation: 프..
[운영체제] 9. Virtual Memory (1) 더보기 kocw 반효경 교수님의 운영체제 강의를 수강 후 작성한 글입니다. 1. Demand Paging Demand Paging: 실제로 필요할 때 page를 메모리에 올리는 것 I/O 양의 감소 Memory 사용량 감소 빠른 응답 시간 (메모리에서 직접 서비스하는 비율이 높아지므로) 더 많은 사용자 수용 Valid/Invalid bit의 사용 Invalid의 의미 사용되지 않는 주소 영역인 경우 페이지가 물리적 메모리에 없는 경우 처음에는 모든 page entry가 invalid로 초기화 address translation 시에 invalid bit이 set되어 있으면 page fault 발생 Page Fault Invalid page를 접근하면 MMU가 trap(sw interrupt)을 발생시킴 ..
[운영체제] 8. Memory Management (2) 더보기 kocw 반효경 교수님의 운영체제 강의를 수강 후 작성한 글입니다. 1. Noncontiguous allocation 1) Paging Paging Process의 virtual memory(logical memory)를 동일한 사이즈의 page로 나눔 Virtual memory의 내용이 page 단위로 noncontigous하게 저장됨 일부는 backing store(hdd, ssd)에, 일부는 physical memory에 저장 -> swapping Basic method Physical memory를 동일한 크기의 frame으로 나눔 Logical memory를 동일 크기의 page로 나눔(frame과 같은 크기) 모든 가용 frame들을 관리 (프레임들이 사용 중인지, 아닌지 관리) Pag..
[운영체제] 8. Memory Management (1) 더보기 kocw 반효경 교수님의 운영체제 강의를 수강 후 작성한 글입니다. 1. 주소 바인딩 (Address Binding) Logical address(=virtual address): 프로세스마다 독립적으로 가지는 주소 공간. 각 프로세스마다 0번지부터 시작하며 CPU가 보는 주소 Physical address: 메모리에 실제 올라가는 위치 주소 바인딩 주소를 결정하는 것. (물리적 메모리 주소를 결정) Symbolic address (변수 할당, 함수 이름 등) -> Logical address -> Physical address Compile time binding 물리적 메모리 주소가 컴파일 시 알려짐 시작 위치 변경시 재 컴파일 (주소를 재부여) 컴파일러는 절대 코드(absolute code)..
[운영체제] 7. Deadlocks 더보기 kocw 반효경 교수님의 운영체제 강의를 수강 후 작성한 글입니다. 1. Deadlock (교착상태) Deadlock: 일련의 프로세스들이 서로가 가진 자원을 기다리며 block된 상태 Resource(자원): 하드웨어, 소프트웨어 등을 모두 포함하는 개념. ex) I/O device, CPU cycle, memory space, semaphore 등. 프로세스가 자원을 사용하는 절차: Request -> Allocate -> Use -> Release Deadlock example 1) 하드웨어 자원에 대한 deadlock - 시스템에 2개의 tape drive가 있고, 프로세스 P1과 P2 각각이 하나의 tape drive를 보유한 채 다른 하나를 기다리고 있는 경우 Deadlock examp..