본문 바로가기

Dev.Basic

(54)
[OS] 10-3. File System III Chapter 10-2. File System III - File System StructureUnix File System StructureUnix에서는 Index Allocation 방법을 약간 변형하여 사용하고 있다. PartitionBoot blockbooting에 필요한 정보를 담고 있어서 부팅 시 필요한 부분이기 대문에어떤 파일 시스템에서라도 가장 먼저 등장하는 block이다. Super block 파일 시스템에 관한 총체적인 정보를 담고 있다.여기서 말하는 총체적인 정보른 어느 부분이 비어있는 블럭이고, 어느 부분이 사용 중인 블럭인지,또는 어디부터가 Inode block인지, Data block인지에 대한 정보를 말한다. Inode listmeta data를 따로 저장하는 장소이다.파일 하..
[OS] 10-2. File System II Chapter 10-2. File System II - File System ImplementationAllocation of File Data in Disk파일은 크기가 균일하지 않다는 특징을 가지고 있다.그래서 파일을 동일한 크기 단위은 sector로 나누어 저장을 한다.디스크에 파일을 저장하는 방법은 크게 3가지가 존재한다.메모리 관리 기법 중 paging 기법과 비슷하다. Contiguous Allocation ( 연속 할당 )하나의 파일이 디스크 상에 연속해서 저장되는 방법으로, 나누어진 각 블록들이 연속된 번호를 부여받아 저장된다.발생하게 되는 단점 external fragmentation가 발생하게 된다.File Growth is dificult.파일의 크기는 유동적이다. 이 때, 파일의 크..
[OS] 10-1. File System Chapter 10-1. File System IFileA named collection of related information파일이란 관련있는 정보들의 집합을 일컫는 말로,운영체제는 다양한 저장 장치를 file이라는 동일한 논리적 단위로 볼 수 있게 해준다.이 파일들은 일반적으로 비휘발성의 보조기억장치에 저장된다. Operation(연산자)create, delete, read, write, open, close, reposition(Iseek)*reposition : 위치를 변경 및 저장하는 연산자.*open : meta data를 메모리에 올리는 연산연산자는 모두 시스템 콜(system call)이다. File attribute(meta data)파일 자체의 내용이 아니라 파일을 관리하기 위한 각종..
[OS] 9-3. Virtual Memory III Chapter 9-3. Virtual Memory IIIClock AlgorithmLRU와 비슷한 알고리즘으로, Second chance algorithm, NUR, NRU라고도 불린다.Circular Linked list 구조를 취하고 있다.이 알고리즘에서는 Reference bit이라는 것이 사용된다.하드웨어에 의해 조작되며 운영체제는 Reference bit을 참고해서 쫓아낼 페이지를 결정하게 된다.Reference bit이 1이면, 최근에 사용된 페이지이고 0이면 최근에 사용된 것이 아니기 때문에 page fault를 발생한다.이름 그대로 시계모양을 하고 있으며,시계 방향으로 움직이면서, reference bit이 1이면 0으로 바꾸고, 한바퀴를 돌고 돌아와서 0인 것을 쫓아낸다.한 바퀴를 돌고 ..
[OS] 9-2. Virtual Memory II Chapter 9-2. Virtual Memory IIReplacement Algorithm * 빨간색 숫자는 page fault를 의미한다.* 노란색 숫자는 Reference 가 일어날 때를 의미한다. 가장 먼 미래에 사용될 page를 알고 있다는 가정하에 구성된 알고리즘이다.(= Belady's optimal algorithm, MIN, OPT)가장 먼 미래에 사용될 page를 실제로 알 수 없으므로 실제로 시스템에서는 사용할 수 없다.실제 시스템에서 쓰이지는 않고 다른 알고리즘의 성능에 대한 upper bound를 제공한다.4번이 가장 오랜 후에 참조될 것을 미리 알고 4가 위치한 frame에 5를 내어준다. * 빨간색 숫자는 page fault를 의미한다.* 노란색 숫자는 Reference 가 일..
[OS] 9-1. Virtual Memory I Chapter 9-1. Virtual Memory IVirtual Memory물리적인 메모리에 프로세스를 적재하는데에는 운영체제가 관여하는 부분이 없었다.하지만 Virtual Memory 즉 가상 메모리에 대한 문제는 운영체제가 전적으로 관여한다.Virtual Memory는 Memory Management에서 다뤄진대로,메모리에 프로세스가 더이상 적재될 수 없을 때, Swapped out되는 메모리이다. Demand Paging 기법요청이 왔을 때, Page 단위로 메모리에 올리는 기법을 말한다.I/O 양이 감소되고, Memory 사용량이 감소되고, 빠른 응답시간을 보이고, 더 많은 사용자를 수용할 수 있게 된다.즉. 페이지 단위로 프로세스가 적재하는 상태이며,프로세스의 모든 페이지가 올라가 있지 않고 ..
[OS] 8-5. Memory Management V Chapter 8-5. Memory Management VSegmentation프로그램의 주소 공간을 의미있는 단위로 자르는 것을 말한다.process가 code, data, stack으로 나뉘는 부분을code segment, data segment, stack segment로 나눈다.물론 이것보다 더 작은 단위로 분할할 수도 있다.작게는 프로그램을 구성하는 함수 하나, 하나를 세그먼트로 지정할 수도 있고,크게는 프로그램 전체를 하나의 세그먼트로 정의할 수도 있다.Segmentation기법은 분할된 조각들의 크기가 균일하지 않기 때문에 연속할당 시 발생했던 문제들이 그대로 발생할 가능성이 있다. Segment에는 local address가 지정되는데,logical address는 으로 구성된다.이를 Se..
[OS] 8-4. Memory Management IV Chapter 8-4. Memory Management IV 현대의 컴퓨터에서 지원하는 프로그램들의 크기가 커졌다.address space가 커져서 그와 비례하여 page table들의 크기가 비약적으로 커지게 된다.프로그램마다, (프로세스 마다)이 따로 존재하는 page table들을 모두 메모리에 올리기에는 한계가 존재했다.올린다고 하더라도, 극히 일부분만 필요로 하기 때문에, 공간낭비를 초래하게 된다. 그래서 page table을 또 하나의 page로 인식하는 방식을 사용했다.마치, 서울시 안에 서대문구, 관악구, 강남구로 행정 구역을 나눠놓은 것 처럼페이지 안에 주소 체계를 한 단계 더 두는 것이다. Two Level Page Table (paging 기법)안쪽 페이지 테이블(inner page ..