FileFile conceptfile : data/program을 담는 그릇data의 type은 numeric, character, binary 등 다양하게 될 수 있다.File StructureNonebytes나 words의 집합으로, 특별한 structure가 존재하지 않는 경우Simple record structurelinesfixed length : 고정된 길이의 linevariable length : 가변 길이의 lineComplex structuresformatted document : application에 의해 정의되는 경우(ex. hwp..)relocatable load file : OS에 의해 정의되는 경우(ex. dll)File attributeName : file의 이름Type : ..
분류 전체보기
Allocation of Framesprocess가 실행될 때 할당되는 frame의 개수local replacement : frame 할당식global replacement : 전체 frame 사용각 process는 실행되기 위해 최소한의 page가 필요하다.HW 측면 : kernel instruction을 실행하기 위한 최소한의 page가 필요MOVE 명령어의 경우, instruction 저장을 위한 2page, source data 2page, dest data 2page 총 6 page가 필요⇒ 아무리 작은 데이터도 운이 좋지 않게 2 page에 걸쳐서 저장될 수 있으므로SW 측면 : loop 내의 page는 한 번에 allocate되어야 한다.locality를 보장할 수 있어야 한다.Fixed A..
virtual memory overview사용 이유 : memory 사용의 효율성을 위함motivation기존 paging 기법은 단일로는 사용할 수 없는 기술address space를 max로 설정하기 때문에 하나의 process도 실제 memory에 적재할 수 없기 때문methodvirtual memory : address space의 일부만 upload폰 노이만의 기본 원칙에 의해 모든 process는 실행되기 위해 반드시 memory에 적재되어야 하는데, 일부만 적재따라서 logical address space/phisical address space로 분리해 cpu는 logical address space만 접근할 수 있도록 한다.⇒ logical address space : 크기가 매우 큰 논..
Structure of the Page Tablepage table의 특징random access순차정렬되어 있고,모든 page가 저장되어 있으므로memory에 저장되어 있다.하지만 page table도 1 frame에 저장되지 못 하는 경우가 발생하면 random access가 불가하기 때문에, page table lookup을 위한 search structure가 필요하다.search structureHierarchical paging여러 page table을 사용Hashed page tableshashing function을 통한 p→frame address mappingInverted page tables각 frame에 어떤 process의 몇 번 page가 할당되어 있는지를 page table에..
memory management의 목적program이 동작하기 위해⇒ cpu는 main memory와 register에만 직접적으로 접근할 수 있기 때문에 program이 실행되기 위해서는 반드시 main memory에 적재되어야 한다.memory를 효율적으로 사용하기 위해program의 실행 과정preprocessing(cpp)main.i 생성header 및 define 내용을 source file에 추가하는 역할compilemain.s 생성high language를 assembly language로 변환compiler의 역할assemblymain.o 생성assembly lanugage를 machine language로 변환assembler의 역할linkingexecutable object file 생..
DeadLockDeadLock이란 각 process가 각자가 원하는 자원을 갖고 있어 더 이상 작업이 진행되지 않는 상태를 의미한다. 이러한 deadlock은 다음 4가지 조건이 모두 동시에 만족되는 경우에 발생하게 된다.Mutual exclusion : 하나의 자원을 오직 하나의 process만 접근이 가능한 경우No preemption : resource의 release가 오직 현재 resource를 점유하고 있는 process에 의해서만 가능한 경우Hold and Wait : process가 자신이 원하는 자원을 요청할 때 다른 자원을 hold한 상태로 요청하는 경우Circular wait : process가 순환적으로 자원을 요청하는 경우Resource-Allocation Graphresource..