CS/운영체제
13. 캐시 메모리
캐시 메모리캐시 메모리캐시 메모리란?지역성Cache Metrics캐시 메모리란?캐시 메모리는 CPU와 메인 메모리 간에 데이터 접근 시 속도 차이를 줄이기 위해 사용속도가 빠른 장치와 느린 장치 사이에서 버퍼 역할을 하며 속도 차에 따른 병목 현상을 줄여, 컴퓨터 시스템의 성능을 향상시키기 위해 별도로 탑재된 일종의 범용 메모리이다.ex1) CPU 코어와 메모리 사이의 병목 현상 완화ex2) 웹 브라우저 캐시 파일은, 하드디스크와 웹페이지 사이의 병목 현상을 완화램보다 훨씬 빠르고 작고 매우 비싼 메모리이며, 레지스터와 함께 메모리 계층 구조의 전통적인 핵심 계층 중 하나이다.지역성CPU가 자주 참조하는 데이터가 고르게 분포되어 있지 않고 특정 부분에 몰려있는 것캐시 메모리에 어떤 데이터를 저장할지는 지..
12. 가상기억장치 구현 기법
가상기억장치 구현 기법 보조기억장치의 일부를 주기억장치처럼 사용하여, 용량이 작은 주기억장치를 마치 큰 용량을 가진 것처럼 사용하는 기법 프로그램을 여러 개의 작은 블록 단위로 나누어서 가상 기억장치에 보관해 놓고, 프로그램 실행 시 요구되는 블록만 주기억장치에 불연속적으로 할당하여 처리한다. 사용자에게는 프로세스 전체가 메모리에 로드된 것처럼 보이지만, 실제로는 전체가 로드된 것이 아니며, 가상 메모리라고도 한다.가상기억장치 구현 기법페이징(paging) 기법세그먼테이션(segmentation) 기법논리 메모리와 물리 메모리메모리 관리 장치(MMU, Memory Management Unit)요구 페이징(demand paging)스래싱(thrashing)Locality워킹 셋(Working set)가상 ..
11. 주기억장치 할당 기법
주기억장치 할당 기법주기억장치 할당 기법연속 할당 기법(contiguous allocation)단일 분할 할당 기법다중 분할 할당 기법고정 분할 할당 기법(=정적 할당 기법)단편화 (Fragmentation)메모리 압축(memory compaction)가변 분할 할당 기법(=동적 할당 기법)분산 할당 기법 (= 비연속 메모리 할당, non-contigous allocation)연속 할당 기법(contiguous allocation) 멀티 프로세스 환경에서 여러 프로세스를 메모리에 연속적으로 로드하는 방법단일 분할 할당 기법 주기억장치를 운영체제 영역과 사용자 영역으로 나누어 한 순간에는 오직 한 명의 사용자만이 주기억장치의 사용자 영역을 사용운영체제를 보호하고, 프로그램이 사용자 영역만을 사용하기 위해 ..
10. 메모리 관리 전략
메모리 관리 전략메모리 관리 전략은 보조기억장치의 프로그램이나 데이터를 주기억장치에 적재시키는 시기, 적재 위치 등을 지정하여 한정된 주기억장치의 공간을 효율적으로 사용하여 많은 프로세스를 로드하기 위한 것이다.각각의 프로세스 는 독립된 메모리 공간을 갖고, 운영체제 혹은 다른 프로세스의 메모리 공간에 접근할 수 없는 제한이 걸려있고, 운영체제 만이 운영체제 메모리 영역과 사용자 메모리 영역의 접근에 제약을 받지 않기 때문에 이를 운영체제가 담당한다.메모리 관리 전략메모리 관리 전략의 종류반입 정책(fetch policy)배치 정책(placement policy)최초 적합최적 적합최악 적합교체 정책(replacement policy)FIFO(First In First Out)LRU(Least Recent..
9. 스케줄링
스케줄링스케줄링스케줄링의 개요스케줄링의 단계스케줄러 관점에서 스케줄링스와핑(swapping)스케줄링의 목적스케줄링 알고리즘비선점형 스케줄링FCFS(First Come First Service. 선입 선출)SJF(Shortest Job First. 단기 작업 우선)HRN(Highest Response-ratio Next)선점형 스케줄링RR(Round Robin)SRT(Shortest Remaining Time)멀티 레벨 스케줄링스케줄링의 개요프로세스가 생성되어 실행될 때 필요한 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업프로세스가 생성되어 완료될 때까지 여러 종류의 스케쥴링 과정을 거치게 된다.스케줄링의 단계, 스케줄러 관점에서 스케줄링스케줄링의 단계장기 스케줄링준비 큐에 어떤 프로세스를 넣을지 ..
8.좀비 프로세스와 고아 프로세스
좀비 프로세스와 고아 프로세스좀비 프로세스와 고아 프로세스좀비 프로세스고아 프로세스좀비 프로세스부모 프로세스가 자식 프로세스의 종료 상태를 회수하지 않았을 경우 남겨진 자식 프로세스자식 프로세스가 종료될 때 부모 프로세스에 SIGCHLD라는 시그널을 보내면 부모 프로세스에서 wait) 함수(시스템 콜)을 호출해 자식 프로세스의 상태 정보를 받고 자원을 회수한다.이때 자원 회수에 실패하면 좀비 프로세스가 생기게 된다.좀비 프로세스가 쌓이면 자원이 낭비될 수 있다.고아 프로세스부모 프로세스가 자식 프로세스보다 먼저 종료되는 경우의 자식 프로세스자식 프로세스의 부모 PID를 init 프로세스(부팅 시 가장 먼저 실행되는 프로세스)의 PID인 1로 바꿔 준다.이렇게 하면 고아 프로세스의 부모 프로세스는 init..