목록CS (27)
포도가게의 개발일지
https://www.youtube.com/watch?v=1gHHBa8UTjM 한국기술대학교 김덕수 교수님의 강의를 참조하였습니다. 개요 Allocation Strategies 각 프로세스에게 메모리를 얼마 만큼 줄것인가?에 대한 전략 Fixec allocation(고정 할당) - 프로세스의 실행 동안 고정된 크기의 메모리 할당 Variable allocation (가변 할당) - 프로세스의 실행 동안 할당하는 메모리의 크기가 유동적 고려사항 프로세스 실행에 필요한 메모리 양을 예측해야함 너무 큰 메모리 할당(too much allocation) 너무 적은 메모리 할당(too small allocation) Fetch Strategies 특정 page를 메모리에 언제 적재할 것인가? Demand Fet..
https://www.youtube.com/watch?v=W8q3TKB9Lbo&t=214s 한국기술대학교 김덕수교수님 강의를 참조하여 작성하였습니다. Virtual Memory management 가상 메모리(기억장치) - non-continuous allocation : 사용자 프로세스를 block으로 분할하여 적재/실행하는 방법 가상 메모리 관리의 목적 - 가상 메모리 시스템 성능 최적화(Cost Model, 다양한 최적화 기법.. etc) Cost Model for virtual Mem. sys. page fault frequency (발생 빈도) page fault rate (발생률) Page fault rate를 최소화 할 수 있도록 전략들을 설계해야 함 - page Fault 발생시 conte..
https://www.youtube.com/watch?v=ctfTntZ-RBo Hybrid Paging / Segmentation system 1. 논리 단위의 segment 분할 2. 각 segment 를 고정된 크기의 page단위로 분할 Address mapping Virtual address : v = (s, p, d) Smt와 PMT모두 사용 - 각 프로세스 마다 하나의 SMT - 각 segment 마다 하나의 PMT 메모리 관리 FPM과 육사 Direct(address) Mapping *단점 메모리를 3번 접근하지만 장점이 그 이상이어 많이 사용됨 ->메모리 접근 하는것은 TLB를 이용하여 해결할수있겠다 좀 비싸겠지만
https://www.youtube.com/watch?v=Dprd7V842WY 한국기술대학교 김덕수교수님의 강의를 참조하였습니다. Segmentation system - 프로세스를 논리적이지 않게 다루게되어 나온 시스템 프로세스를 논리적으로 block으로 분할 (sement로 부름) - segment의 크기가 서로 다를 수 있음 - stack, heap, main precedure, shared lib, etc... 특징 - segment의 크기가 다를 수 있엉 메모리를 미리 분할 하지 않음(VPM과 유사) - segment sharing/protection이 용이함 - 크기가 달라 관리하기 복잡하고 -> 이건 overhead가 크다 - No internal fragmentation(External fr..
https://www.youtube.com/watch?v=B_QLTChsi04&t=10s 한국기술대학교 김덕수교수님의 강의를 참조하였습니다. Frame table page fram당 하나의 Entry 구성 - allocated/availabel field - PID field - Link field : For free list(사용 가능한 fp들을 연결) - AV : Free list header (Free list의 시작점) 처음 비어있는 entry 위치 : 링크드 리스트로 다른 비어있는 entry에 연결해줌 *PID = Process ID (어떤 프로세스가 할당 받았는지 표시) Page Sharing 여러 프로세스가 특정 page 공유 가능 - non-continuous allocation Page ..
https://www.youtube.com/watch?v=mTFYeZwPj0s Paging System 프로그램을 같은 크기의 블록으로 분할 (pages) Terminologies - page : 프로그램의 분할된 block - page frame : page를 넣어야하므로 같은 크기로 분할된 메모리 공간 Address Mapping block mapping과 거의 유사함 대신 v = (p,d). *블록 매핑에서는 v = (b,d) *residence bit = 0인경우(메모리에 안올라와있을때) Page fault 발생 그 후 swap device에서 해당 page를 메모리로 적재 -> 하지만 running program -> asleep 상태가 될때 context swich가 발생(over head가 ..
Virtual Memory Management Non-continuous allocation 사용자 프로그램을 여러개의 block으로 분할 실행시, 필요한 block들만 메모리에 적재 - 나머지 block들은 swap device에 존재 기법 - Paging system - Segmentation system - Hybrid paging/segmentation system Block Mapping 사용자 프로그램을 block 단위로 분할/관리 - 각 block에 대한 address mapping 정보 유지 Virtual address : v = (b,d)로 구성 b : block number -> 어느 블록인지 d : displacement(offset) in a block -> 블록의 시작점에서 얼마나..
https://www.youtube.com/watch?v=o1TB9NWvG9w Variable Partition Multiprogramming 초기에는 전체가 하나의 영역 프로세스를 처리하는 과정에서 메모리 공간이 동적으로 분할 No internal fragmentation은 필요할때마다 전체에서 잘라서주기때문에 발생하지 않는다. 배치전략 (Placement strategies) First-fit(최초 적합) : 처음만나는 맞는 공간을 선택 - 충분한 크기를 가진 첫 번째 partition을 선택 - Simple and low overhead - 공간 활용률이 떨어질 수 있음 (처음 만나는애가 자기보다 큰 메모리를 만날 경우) Best-fit(최적 적합) : process가 들어갈 수 있는 partiti..