목록운영체제 (16)
Kim Seon Deok
디스크 스케쥴링 (Disk Scheduling) Transfer time = 디스크가 회전하면서 해당 내용이 읽혀짐 → 빠르다. Seek time = 디스크가 원하는 트랙을 찾아 옮김 → 오래 걸린다. Rotatinoal delay = 한 바퀴 돌고 다시 헤드 밑으로 오는 데 걸리는 시간 → 빠르다. 디스크 접근 시간 = Seek time + Rotational delay + Transfer time Seek time이 가장 크다. ready queue에서 프로세서들이 기다리다 cpu의 서비스를 받고 time expired되면 다시 돌아가기도 하지만, HDD를 사용하기 위해 기다리기도 한다. Disk queue에서는 이미 다른 프로그램에서 사용중이라 다른 프로세서들이 대기하고 있다. Disk queue에..
파일 할당 (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 ..