본문 바로가기

반응형

전체 글

(645)
Page Size 시스템 특성에 따라 다름 - No best answer - 점점 커지는 경향 일반적이 page size 2^7 ~ 2^22 Small Page size Large page size Lage page talbe - High overhead(kernel) 내부 단편화 감소 I/O 시간 증가 Locality 향상 Page fault 증가 Small page table - Low overhead(kernel) 내부 단편화 증가 Locality 저하 Page falut 감소 [HW 발전 경함] CPU 좋아지고, Memory size 좋아져서 상대적인 page falut 처리 비용 좋아진다. 따라서 page 크기는 큰게 좋은거 같다. 행이 전환땔때마다 페이지폴트가 일어난다 근데 행으로 만들어버리면 페이지폴트가 자주..
Replacement Strategies Min Alogorithm (OPT algorithm) 최적의 솔루션이다. 미래를 알 수 있기때문에 가능하다. FIFO Algorithm LRU ( Least Recentyl used) Algorithm - 참조 시 마다 시간을 기록해야 함(Overhead) - 간소화된 정보 수집으로 해소 가능 LFU (Least Frequently Used) Algorithm - 참조마다 참조횟수를 기록 NUR ( Not used Recently) Algorithm -최근에 사용하지 않은 애들을 교체한다.
Virtual Memory Management Page fault frequency (발생 빈도) Page fault rate ( 발생률) Page fault rate를 최소화 할 수 있도록 전략들을 설계해야 함 - Context switch 및 kernel 개입을 최소화 - 시스템 성능 향상 특정 page를 메모리에 언제 적재할 것인가? Demand fetch (demand paging) - 프로세스가 참조하는 페이지들만 적재 - Page fault overhead Andticipatory fetch - 참조될 가능이 높은 page 예측 - 가까운 미래에 참조될 가능성이 높은 page를 미리 적재 - 예측 성공 시, page fault overhead가 없음
Virtual Storage Paging System Page - 프로그램의 분활된 block Page fram - 메모리의 분할 영역 - Page와 같은 크기로 분할 Pasing System 특징 - 논리적 분할이 아님 (크기에 따른 분할) - segmentation 대비 복잡하다 No external fragmentation - Internal fragmentation 발생 가능 페이지 폴트도 콘텍트 스위칭을 발생시키고 오버헤드가 크다. -> Context switching 발생 (I/O) -> Overhead 문제점 - 메모리 접근 횟수가 2배 커널갔다가 메인메모리간다 - PMT를 위한 메모리 공간 필요 해결방안 - Associative mapping(TLB) - PMT를 위한 전용 기억장치(공간) 사용 - Low overhead 지만 비싸다... H..
Vitrual Storage (Memory) - Non-continuouse allcation - 사용자 프로그램을 여러 개의 block으로 분할 - 실행 시, 필요한 block들만 메모리에 적재 기법들 - Paigin system - Segmentation sysetm - Hybrid pagin/ segmentation system Address Mapping virtual address(가상주소) - 논리적인 주소 - 연속된 메모리 할당을 가정한 주소 real address(실제주소) - 실제 메모리에 적재된 주소 Block Mapping 사용자 프로그램을 block 단위로 분할/관리 - 각 block에 대한 address mapping 정보 유지 Block map table (BMT) - Address Mapping 정보 관리 - 커널 공간에..
메모리 메모리(기억장치)의 종류 HW가 관리 : 레지스터, 캐시 캐시 : SW가 관리 메모리(기억장치) 계층구조 Block - 보조기억장치와 주기억장치 사이의 데이터 전송 단위 Word - 주기억장치와 레지스터 사이의 데이터 전송 단위 Address Binding - 프로그램의 논리 주소를 실제 메모리의 물리 주소로 매핑(mapping)하는 작업 Binding 시점에 따른 구분 - Compile time binding : 컴파일 할때 - Load time binding : 프로그램을 메모리에 올릴 때 - Run time binding : 실행중에 address를 할당할 때 컴파일이란 소스코드를 오브젝트 모듈로 변환 하는것을 말한다. 린커는 오브젝트 모듈과 라이브러리같은것을 묶어서 링커로 만들어준다. loadMo..
교착상태 Deadlock Resolution Blocked/Asleep state - 프로세스가 특정 이벤트를 기다리는 상태 - 프로세스가 필요한 자원을 기다리는 상태 Deadlock state - 프로세스가 발생 가능성이 없는 이벤트를 기다리는 경우 - 프로세스가 deadlock 상태에 있음 - 시스템 내에 deadlock에 빠진 프로세스가 있는 경우 - 시스템이 deadlock 상태에 있음 자원의 분류 Hadware resources vs Software resources 선점 가능 여부에 따른 분류 Preemptible resources - 선점 당한 후, 돌아와도 문제가 발생하지 않는 자원 - Processor, memory 등 Non-preemptible resources - 선점 당하면, 이후 진행에 문제가 발생하는 자원 - disk, ..
Eventcount / Sequencer 은행의 번호표와 비슷한 개념 Sequencer - 정수형 변수 - 생성시 0으로 초기화, 감소하지 않음 - 발생 사건들의 순서 유지 - ticket() 연산으로만 접근 가능 ticket(s) - 현재까지 ticket() 연산이 호출 된 횟수를 반환 - Indivisible operation Eventcount - 정수형 변수 - 생성시 0으로 초기화, 감소하지 않음 - 특정 사건의 발생 횟수를 기록 - read(E), advance(E), await(E,v) 연산으로만 접근 가능 read(E) - 현재 Eventcount 값 반환 advance (E) - E

반응형