목록전체 글 (168)
Kim Seon Deok
파일 할당 (File Allocation) 컴퓨터에서 가장 중요한 자원은 cpu > 메인 메모리 > 하드디스크 이다. cpu → 프로세스 관리 → cpu 스케쥴링, 프로세스 동기화 메인 메모리 → 메인 메모리 관리 → 페이징, 가상 메모리 → demand paging 보조기억장치 → 파일 시스템 하드디스크는 글자단위로 자료가 이동하는 키보드와 같은 character device가 아닌 block device이다. 하드디스크에 무언가를 read, write할 땐 블록단위로 읽고 쓴다. 각각의 파일에 대해 free block을 할당하는 방식은 속도를 추구할 지 용량을 추구할 지에 따라 os 설계자가 결정한다. block = sector의 모음 하드디스크에서 track은 sector들로 구성되고 회전한다. 디..
쓰레싱(Thrashing) cpu utilization : cpu 이용률 degree of multiprogramming : 메인 메모리에 올라와 있는 프로세서의 수 = number of process 메인 메모리에 프로세서가 0개면 cpu는 아무것도 하지 않는다. (∴utilization = 0) 메모리 안에 프로세서를 많이 올리면 utilization이 올라가다 다시 감소한다 ∵ 빈번한 page in / out 메인메모리가 꽉 찬 상태에서 page in / out 반복하면 backing store에 read, write하게 되는데, 그 때까지 cpu는 아무것도 할 수 없다. ∴ dist i / o 증가해 utilzation 떨어짐 따라서 스레싱을 극복하려면 local replacement를 사용해야 ..
페이지 교체 (Page Replacement) demand paging : 요구되는 페이지만 backing store에서 가져온다. 하지만 프로그램 실행이 계속되면 요구하는 페이지가 늘어나게 되고 context switching한 다음 프로세서는 메인 메모리가 가득차게 된다. 메인 메모리가 가득 차면 추가로 페이지를 가져오기 위해 어떤 페이지는 backing store로 몰아내고(page out) 그 때 생기는 빈 공간으로 페이지를 가져온다.(page in) 이 때 쫓겨난 페이지를 victim page라 하고 전체적인 과정을 page replacement라 한다. 한 페이지를 하드디스크로 보내면 cpu에 의해 page 내용이 바뀌지 않았다면 하드디스크에 굳이 write할 필요가 없다. 하지만 page내용..
Virtual Memory 가상메모리는 물리적인 메인메모리의 크기에 대한 한계를 극복하기 위해 만들어진 것이다. 하드디스크에는 여러 프로세서들이 저장되어 있고, 각 프로세서의 필요한 루틴만 메인메모리에 올라간다. Demand paging 프로세스를 페이지 단위로 잘라 메인메모리에 올리는데, 현재 요구되는 페이지만 메인메모리에 올리고 필요하지 않은 건 backing store에 올린다. 하드디스크는 backing store = swap device이다. 하드디스크 안에있는 p1,p2,p3은 총 110mb로 100mb인 메인메모리에 프로세서 전체를 올릴 수없다. 따라서 각 프로세서를 일정한 크기의 페이지단위로 조각낸 후 필요한 부분만 메인메모리로 올린다. context switching 될 때마다 page ..
segmentation page는 프로세스를 일정크기로 자르는 기법을 말한다. segment는 프로세스를 논리적인 내용에 맞게 자르는 기법이다. 논리적 구분에 따라 크기가 가변적이다. 각 세그먼트의 크기는 일반적으로 같지 않다. 프로세스를 일정크기로 잘랐던 paging기법은 cpu가 프로세서가 연속된 메모리 공간에 위치했다 착각하게 만들기 위해 mmu 재배치 레지스터로 page table을 사용했다. segmentation기법은 비슷한 방식으로 segment table을 사용한다. 역시 cpu는 프로세스가 연속된 메모리 공간에 위치한다고 착각한다. 메인메모리에 있는 프로세스 시작번지 base들이 segment table의 내용이 된다. cpu가 내보내는 주소를 segment number와 dismplac..