전체 글

기록을 남기자
Chapter 8-2. Virtual Memory
Translation Lookaside Buffer Relocation 을 위해서 Page Table 을 이용한다. Page Table 에는 두가지 종류가 있다. hierarchical page table inverted page table hierarchical page table 을 사용할 때는 Page Table 자체가 크기 때문에 이게 2, 3, 4, ... 단계 page table 이 될 수 있다. 2단계 페이지 테이블의 경우 데이터 읽기 → Root Page Table → 2nd Page Table → 정확한 Physical Address 주소 획득 → memory ⇒ 데이터를 읽을 때, memory 에 3번 access ex) 보통 프로그램을 실행할 때 코드 → 데이터 → 코드 → 데이터 →..
Chapter 8-1. Virtual Memory
Types of Memory Real Memory Main Memory Physical 한 메모리 자체를 말한다. Virtual Memory Main Memory + Memory on disk 전체 프로그램을 모두 메모리에 넣지 않고, 프로그램의 일부만 메모리에 넣고 실행을 시키는 방식. 전체 프로그램 중 일부는 진짜 Physical 한 메모리에 들어 있고 나머지는 hard disk에 들어있는채로 시작한다. Execution of a Program Resident set 전체 프로그램 중 메모리에 올라와 있는 부분(page, segment) Interrupt 프로세스가 주소에 접근하려는데, 메모리에 올라와 있지 않은 주소가 필요한 경우 OS 가 Interrupt 를 건다. → 현재 프로세스 Blocked..
Chapter 7-2. Memory Management
Paging System Paging System 은 프로그램을 Page 크기로 나누는 것이다. 주소를 붙일 때 주소는 논리주소가 되는데, Page# + Offset 과 같이 표현한다. Relocation Relocation → Page Table 을 사용한다. Page Table 에서 1번이면, 페이지 1번라는 뜻이고, 이 1번 페이지가 페이지 프레임 몇번에 들어있는지 하는 프레임 번호를 얻어온다. 얻은 프레임 번호를 앞쪽에 적고, 뒤에는 offset을 그대도 사용한다. 프레임번호 + offset ⇒ Physical Address 가 된다. Paging System 에서 알아야 하는 것 가상주소 적는 방법 Physical Address 로 변환하는 방법 계산하는 과정 Protection Memory 를..
Chapter 7-1. Memory Management
Memory Management Subdividing memory to accommodate multiple processes Memory needs to be allocated efficiently to pack as many processes into memory as possible 우리가 사용하고 있는 메모리 시스템은 프로그램 전체를 통으로 집어넣을 수 없다. 메모리 크기에 비해 프로그램의 크기가 굉장히 큰 것도 있고, 동시에 여러 프로그램들을 실행시키고 싶어서 가능한 많은 프로그램을 메모리에 올려 놓으려는 측면도 있다. 그러다보니 프로그램의 일부만 메모리에 올라와서 실행을 하게 되는 시스템이 구현되었다. 이를 Virtual Memory System 이라고 한다. Virtual Memory Sys..
Chapter 6-2. Concurrency : Deadlock and Starvation
Deadlock Avoidance Logic 시스템의 상태 설명 (global data structure) resource[m] : 원래 이 시스템 안에 자원이 각각 몇개씩 있는지? avaiavble[m] : 그 자원들 중, 할당 후 남아있는 자원? claim[n][m] : 모든 프로세스가, 나는 이 타입의 자원을 몇개까지(최대 동시 요청 가능) 요청할거다 라는 걸 미리 OS에게 미리 얘기해주는 것 alloc[n][m] : 실제 각각의 프로세스들이 현재 가지고 있는 자원, 어떤 자원이 몇개인지? Resource allocation algorithm safe인지 unsafe인지 판단하기 전, 두 가지 조건이 존재한다. → 시스템이 safe인지 unsafe한지 판단할 필요도 없는 그런 상황을 말한다. 1. ..
ssun_bear
기록을 남기자