전공/운영체제 17

File system -2

Free-Space Management ㄴ list -> bitmapblock number : (워드당 비트 수) * (0 값 워드 수) + 첫 번째 1 비트의 오프셋// CPU) 워드 내 첫 번째 "1" 비트의 오프셋을 반환하는 명령어 있음 ex) block size = 4KB (2^12 bytes), Disk = 1 TB (2^40 bytes)n = 2^40 / 2^12 = 2^28 (32MB)의 비트맵 필요.cluster size (block모음) : 4blcok -> 8MB의 메모리 Linked Free Space List on Disk공간 낭비 X, 효율적 할당 : 2->3 하고 포인터 설정 후 다음에 4번부터 이어서 연속할당은 불리 Free-Space ManagementGrouping (..

전공/운영체제 2025.06.07

File system

File : contiguous logical address ㄴ type : Data / Program + text/source... ㄴ 추상 데이터 타입, 여러 명령어 존재 ㄴ create, open, write.. Open File : 열려있는 파일관리 ㄴ table , pointer,count 등 이용 Open File locking ㄴ shared: Read 공유 / execlusive : only1 process Write ㄴ mandatory: request -> 승인OK -> access / advisory : Lock 확인 -> access 선택 sequential-access : 한쪽방향으로 pointer 증가 ㄴ Rewrite X -> rewind(reset) 후에..

전공/운영체제 2025.06.07

I/O systems

I/O HW장치 : Disk , 키보드/ 마우스.../ 전송장치 (LAN card..) port : connect bus : daisy chain (직렬) : PCI,SAS / 병렬 controller(Host adapter) : CPU와 device 사이에서 명령 수신 -> 장치제어 I/O 제어CPU) 제어 regi, 상태regi, data regi -> 레지스터를 통해 장치제어 ㄴ 주소지정 ㄴ포트 매핑 (isolated I/O) : 별도 주소공간 ㄴ메모리 매핑 (memory-mapped I/O): 장치 레지스터가 메모리 공간에 포함I/O 동작Polling1. busy bit 확인(주기적) -> 0이면 사용2. 명령/데이터 전송 3. readbit 설정 // 읽도록 regi 설정 4..

전공/운영체제 2025.06.05

Virtual memory-2

if) Free Frame X.. >Page Replacement ㄴ 여러가지 알고리즘 -> Page fault 가 minimum하도록 page out(to disk)// page fault : Logical -> Physical 中 memory에 없음 (invaild) victim frame : 교체 당하는 frame ㄴ 두번의 Transfer : disk I/O modify(dirty) bit : Over(재)할당 방지 ㄴ 0: 수정X ->저장X 버림 , 1: 수정O -> update ㄴ Bit 1 들만 disk I/O 알고리즘1. FIFO page number : 7, 0, 1, 2, 0Frame : 3 1. 7 in -> Frame에 없음 -> Disk 에서 가져옴 : ..

전공/운영체제 2025.05.23

가상메모리

Virtual address // start 0x00~공유메모리O // fork()+ sparse (부족한) -> 동적 link lib Demand Paging Prgram(Disk) -> Virtual -> 실제 필요한(demand) 일부(page) -> Physical ㄴ Physical에서.. if) 유효 X abort if) 메모리에 X -> Swap// Lazy swapper : 필요할때(page fault) 까지 swapX Invaild bit : i -> Disk(Backing store) ㄴ MMU 가 접근시 : page fault 1. 명령어가 in메모리 참조 -> logical -> MMU -> PageTable-> invaild bit : i(0) >..

전공/운영체제 2025.05.15

메모리-4

Hased Page Tableq : virtual page number s : the mapped page framec : a pointer to the next element // linked list //64 bit : cluesteded page table : page 안에 page들 Inverted page Table // 64bit에서 사용Process가 여러개시 각각의 PageTable 사용 낭비ㄴ Page Table) frame에 대한 logical 주소 및 PID 저장 (pid, p, d) → (i, d)ㄴ 각 frame 마다 p와 pid 로 물리주소 i 를 searchㄴ 전체 물리memory를 search 해야함..> Hash Table(with TLB) : TLB에 없다면 (pid,p)..

전공/운영체제 2025.05.11

메모리-3

Shared Page : RO code들..(text, compiler,window system) > Thread 들 공유 + RW data로 상호작용 >> 원래) 4frame * 3 =12 frame 필요 공유) 4frame * 1 = 4frema > 3배 절약 Page Table 수많은 process 들을 한번에Processer의 코어의 갯수만큼 실행하며Context Swithching 을 통해 여러process들을 처리한다.각 process들은 개별적인 메모리공간(virtual)을 가지며,그 크기는 32bit CPU의 경우 4GB 이다.또한 각각의 PageTable을 갖고있는데,Context Switching시 OS는 CPU내의 MMU가 참조하는 PageTable을 현재 Proces..

전공/운영체제 2025.05.10

메모리-2

Dynamic loading : Disk -> 필요한것만 -> RAM > Lib 로 code level ( OS X) Dynamic Linking (shared libraries) // .dll : system lib (ex) printf) ||| my code > executive할때 link with stub Stub code 상의 printf : 0x1000 // 글자 상태 (점프용코드) > branch printf 실제구현 : 0x2000 // 함수형태 >> branch 과정 추가 -> 느림 Static Linking : code + lib -> binary img > 합쳐지므로 무거워짐 , lib 업데이트시 img 전체 빌드를 해야함 Contiguous ..

전공/운영체제 2025.05.09

메모리

Backgroun 지식 1.CPU가 Memory에 접근1. 주소 + 읽기 요청2. 주소 + 보낼데이터 + 쓰기 요청 2.Regi Memory빠름 느림 -> stall (성능저하)>Regi Cache -> Memory HadrWare Address Protection > Process가 다른 메모리영역 침범 보호 > Register : Base , Limit OS의 privileged instruction : to loading the base and limit registers Address Binding (Mapping)1. Disk -> Input Queue -> RAM2. 처음주소 0x0 : 다음애들이 실행못함 3. 주소의 변화 // Binding 과정 a) Symbolic..

전공/운영체제 2025.05.04

8장

데드락 Detection : Deadlcok 을 허용하지만 알고리즘으로 찾아내서 Recover 1. 한개의 R 에 1개의 Instance : wait for graph : pi -> pj : pj의 리소스를 사용하고자함> 주기적 알고리즘이 사이클탐지 // n^2 (Task 개수)그림1) 전에 배운 Resource-Allocation Graph그림2) 지금배운Corresponding wait-for graph 2. 한개의 R 에 Multi Instance : Banker's Algorithm 과 유사 1. P0 할당 > Avail) 0102. P2 할당 > " 313> 나머지 다가능>>sequence -> Finsish[i]=true >>> safe if) P2 가 Re..

전공/운영체제 2025.04.15