목차 더보기 SoftWare Components 가상메모리 성능 향상을 위한 관리 기법들 Software Components 가상 메모리 성능 향상을 위한 관리 기법들 Allocation strategies (할당 기법) Fetch strategies Placement strategies (배치 기법) Replacement strategies (교체 기법) Cleaning strategies (정리 기법) Load control strategies (부하 조절 기법) Allocation Strategies 각 프로세스에게 메모리를 얼마 만큼 줄 것인가? Fixed allocation (고정 할당) - 프로세스의 실행 동안 고정된 크기의 메모리 할당 Variable allocation (가변 할당) - 프..
CS/OS
목차 더보기 Virtual Memory Management 개요 Cost Model page fault frequency page fault rate page reference string Hardware Components Address translation device Bit Vector(reference bits, update bits) Virtual Memory Management 개요 가상 메모리 (기억장치) Non continuous allocation - 사용자 프로그램을 block으로 분할하여 적재/실행 Paging/Segmentation system 가상 메모리 관리 관리의 목적 => 가상 메모리 시스템 성능 최적화 Cost model 다양한 최적화 기법 Cost Model for Vir..
Virtual storage methods Paging system Segmentation system Hybrid paging/segmentation system Segmentation system 프로그램을 논리적 block으로 분할함 (분할된 블럭: segment) Block의 크기가 서로 다를 수 있음 예) stack, heap, main procedure, shared lib, Etc... 특징 블록의 크기가 다를 수 있기 때문에 메모리를 미리 분할 하지 않음 (Variable Partition Multiprogramming과 유사) Segment sharing/protection이 용이하다. Address mapping 및 메모리 관리의 Overhead가 큼 (크기가 다르기 때문에 복잡하다....
Non continuous allocation (Virtual storage methods) Paging system Segmentation system Hybrid paging/segmentation system Paging system 프로그램을 같은 크기의 블록으로 분할(Pages) Page: 프로그램의 분할된 Block Page frame: 페이지와 같은 크기로 잘려진 메모리 상의 공간 연속해서 올라가 있는 것이 아닌 (non-continouns allocation) Paging system 특징 논리적 분할이 아님 (크기에 따른 분할) Segmentation에 비해 Page 공유(sharing) 및 보호(Protection)과정이 복잡함 Segmentation에 비해서 Simple and Eff..
Non continuous allocation 사용자 프로그램을 여러 개의 block으로 분할함. 실행시에 필요한 block들만 메모리에 적재함 (나머지 block들은 swap device에 존재함) Non continuous allocation 기법들 Paging system Segmentation system Hybrid paging/segmentation system Address mapping 메모리 할당을 하게 되면 address mapping을 하게 됨. continuous allocation에서의 Address Mapping Relative address (상대 주소) :프로그램의 시작 주소를 0으로 가정한 주소 Relocation (재배치): 메모리 할당된 후, 할당된 주소에 따라 상대 주..
Memory allocation 더보기 Continuous memory allocation (연속할당) Uni programming Multi programming Fixed partition multi programming (FPM) Variable partition multi programming (VPM) Non continuous memory allocation -> Lecture 9 (비연속할당) Continuous Memory Allocation Variable Partition Multiprogramming 초기에는 전체가 하나의 영역임. 프로세스를 처리하는 과정에서 메모리 공간을 동적으로 분할 케이크를 잘라서 나눠주는 것과 같이 생각 어떻게 작동될지 예시를 살펴보자 - VPM Example..
Memory allocation 더보기 Continuous memory allocation (연속할당) Uni programming Multi programming Fixed partition multi programming (FPM) Variable partition multi programming (VPM) Non continuous memory allocation -> Lecture 9 (비연속할당) Continuous Memory Allocation - 프로세스(Context)를 하나의 연속된 메모리 공간에 할당하는 정책 (프로그램, 데이터, 스택 등) 메모리 구성 정책 메모리에 동시에 올라갈 수 있는 프로세스 수 고려 메모리 분할 방법 고민 프로세스에게 할당하는 메모리 공간 크기 Uni prog..
메모리(기억장치)의 종류 메모리(기억장치) 계층구조 block 디스크에서 메모리에 최소로 이동할 수 있는 단위 보조기억장치와 주기억장치 사이의 데이터 전송 단위 size: 1~4KB Word 주기억장치와 레지스터 사이의 데이터 전송 단위 size: 16~64bits (메모리에서 데이터를 64bits씩 읽는다) 레지스터의 크기가 word의 크기만큼 되어있다. => CPU가 몇 bit인지를 판단하는 기준이 된다. Address Binding 프로그램의 논리 주소를 실제 메모리의 물리 주소로 매핑(mapping)하는 작업 (컴퓨터 공간안에 정수형int를 선언할 때는 변수크기만큼 크기를 잡는것이다. 메모리상에서 이를 보면 주소1000번~1003번까지 저장한다. 논리주소 a와 물리주소 1000과 묶는 작업이 필요..
Deadlock 해결 방법 Deadlock prevention methods (교착상태 예방) Deadlock avoidance method (교착상태 회피) Deadlock detection and deadlock recovery methods (교착상태 탐지 및 복구) Deadlock Detection Deadlock을 허용하기 때문에 주기적으로 deadlock 발생 확인 확인하는 방법중 많이 사용하는 것이 Resource Allocation Graph (RAG) Resource Allocation Graph (RAG) 지난 포스트에서 Deadlock model인 State Transition Model을 알아보았는데 그 모델을 확장한 것이다. Deadlock 검출을 위해 사용 Directed(방향성..
Deadlock 해결 방법 Deadlock prevention methods (교착상태 예방) Deadlock avoidance method (교착상태 회피) Deadlock detection and deadlock recovery methods (교착상태 탐지 및 복구) Deadlock Avoidance 시스템의 상태를 계속 감시 시스템이 deadlock 상태가 될 가능성이 있으면 해당 자원 할당 요청 보류 시스템을 항상 safe state (안전한 상태) 로 유지 Safe state 모든 프로세스가 정상적 종료 가능한 상태 (safe sequence가 존재하면 safe state이다.) Safe sequence 가 존재 하느냐로 판단함. Deadlock 상태가 되지 않을 수 있음을 보장 Unsafe ..