프로그램 I/O(Programmed I/O) CPU가 프로그램 수행 도중 입.출력과 관련된 명령어를 입.출력 모듈에게 보냄으로써 그 명령어를 수행 출력 명령어 제어, 검사, 읽기, 쓰기 등 입.출력 주소 지정 프로세서, 기억 장치, 입.출력 모듈 사이에는 메모리-사상 I/O(Memory-mapped I/O) 방식과 분리형 I/O(Isolated I/O 또는 I/O mapped) 방식의 2가지 주소 지정 방식이 있음 메모리-사상 I/O 별도의 입.출력 명령어가 필요 없음 메모리의 특정 번지를 액세스하면 자동으로 I/O가 발생 분리형 I/O 입.출력을 위한 별도의 명령어를 둠 각 명령어가 주변 장치를 지정하여 입.출력을 수행 ▶ 주소 지정 방식 별 비교 인터럽트-구동 I/O(Interrupt-driven I..
가상 메모리의 개념 기억 용량이 작은 주기억 장치를 마치 용량이 큰 것처럼 사용할 수 있도록 하는 운영체제의 메모리 운영 기법 하드웨어적으로 실제 존재하는 것이 아니고, 소프트웨어적인 방법으로 보조 기억 장치를 주기억 장치처럼 사용하는 것 대부분의 프로그램들이 프로그램 전체가 동시에 실행되지 않기 때문에 부분적인 적재로도 프로그램을 실행 시킬 수 있다는 점을 이용 실행 중인 프로세스가 참조하는 주소는 어떤 상대적인 위치만 알고 있고, 실제로 참조하는 주소는 베이스(base)가 되는 주소에 상대적인 주소를 더한 주소(실제 주소 = 베이스 주소 + 상대 주소)가 됨 가상 주소 공간과 실제 주소 공간 실행 중인 프로세스가 참조하는 가상 주소 공간(논리적 주소, 프로그램 주소)을 실제 주소공간(물리적 주소)으로..
개요 가상 메모리 관리 기법은 보조 기억 장치에 저장되어 있는 프로그램을 주기억 장치에 효율적으로 적재하기 위한 방법 구분 할당 기법 : How much 각 프로세스에게 메인 메모리를 얼마나 할당할 것인지, 각 프로세스의 실행 중인 메모리 할당량을 어떻게 변화시킬 것인지에 따라 고정(정적) 할당 기법, 가변(동적) 할당 기법으로 구분 반입Fetch) 기법 : When 프로그램의 한 블록을 언제 메인 메모리에 적재시킬 것인지에 따라 요구 반입, 예측 반입 기법으로 구분 배치(Placement) 기법 : Where 새로 반입된 프로그램이나 데이터를 메인 메모리의 어디에 위치시킬 것인지를 결정하는 기법으로 최초 적합(First Fit), 최적 적합(Best Fit), 최악 적합(Worst Fit)이 있음 교체..
개요 교체란 내보낼 페이지를 선정하는 것으로, 기법마다 장.단점이 있으나 일반적으로 낮은 페이지 부재율을 기준으로 선택 프레임의 수가 증가함에 따라 페이지 부재율이 낮아지고, 동시에 실행될 수 있는 프로세스의 수가 적어지게 됨 종류 무작위(Random) 교체 알고리즘 임의의 페이지를 교체 선입선출(FIFO) 교체 알고리즘 가장 먼저 사용된 페이지를 교체 최적(Optimal) 교체 알고리즘 가장 오랫동안 사용되지 않을 페이지를 교체(실현 가능성이 희박함) 2차 기회(Second chance) 교체 알고리즘 가장 오랫동안 자주 사용되었던 페이지가 교체될 수 있는 FIFO 교체 알고리즘의 단점을 해결한 알고리즘 LRU(Least Recently Used) 교체 알고리즘 가장 오랫동안 사용되지 않은 페이지를 교..
정의 어떤 프로세스가 프로세스 수행에 보내는 시간보다 페이지 교환에 보내는 시간이 더 큰 경우, 즉 계속적인 페이지 교환이 발생하는 경우 시스템이 심각한 성능 저하를 초래하게 되는 현상 해결 기법 스래싱을 해결하기 위한 기법에는 작업 집합(Working Set)기법과 페이지 부재 빈도(PFF, Page Fault Frequency)기법이 있음 작업 집합(Working Set) : 가장 최근에 참조했던 페이지들의 집합
개요 가상 메모리 구현은 가상 메모리를 분할하는 방법과 메모리 주소 지정 방법에 따라 다음과 같이 구분할 수 있는데, 여기에서 메모리 주소 지정 방법은 사상 테이블(Mapping Table)의 색인을 찾는 것을 의미 가상 메모리 분할 방법 페이징 새그먼테이션(가변 블록) 페이징/세그먼테이션 혼용 메모리 주소 지정 방법 직접 사상 방법 연관 사상 방법 직접/연관 사상 방법 ▶ 가상 메모리의 구현 기억 장치의 단편화 내부 단편화 : 분할된 공간에 작업을 할당하고 난 후 사용하지 않고 남은 빈 공간 외부 단편화 : 대기 중인 작업에 할당하기에는 너무 작은 공간으로, 사용되지 못하고 비어 있는 공간 가상 메모리의 분할 방법 페이징 방법 고정 분할의 외부 단편화는 해결되나 내부 단편화는 남아 있음 실제 공간의 페..
캐시 메모리의 정의 CPU의 속도와 주기억 장치(즉, 메인 메모리)의 속도 차이를 줄이기 위해 사용하는 고속의 버퍼 메모리 5 ~ 100ns 정도의 빠른 접근 시간을 제공하는 기억 장치로, 수행할 명령어나 오퍼랜드를 주기억 장치로부터 가져와 저장하고 있다가 빠른 속도로 중앙 처리장치에 제공 캐시 메모리의 동작 원리 CPU가 주기억 장치를 엑세스 할 필요가 있는 경우 우선 캐시부터 조사하여 만약 원하는 데이터가 있는 경우(적중, hit)에 바로 캐시에서 액세스 캐시에 없는 경우(실패, miss)에는, 찾고자 하는 데이터가 속한 블록을 주기억 장치로부터 캐시로 전송하여 액세스 참조 지역성 캐시 메모리는 CPU가 수행할 명령어와 오퍼랜드를 저장하고 있다가 즉시 제공함으로써 처리가 신속히 이루어지도록 하는데, ..
캐시 설계 시 고려할 사항 캐시 크기(Cash Size) 전송 블록 크기(Block Size) 교체 알고리즘(Replacement Algorithm) 매핑 프로세스 주기억 장치로부터 캐시 메모리로 데이터를 전송하는 방법을 말하며 직접 매핑, 연관 매핑, 집합 연관 매핑의 3가지가 있음 직접 매핑(Direct Mapping) 용량이 작은 RAM을 캐시 메모리로 사용하며, 주기억 장치의 블록이 특정 라인에만 적재되는 원리를 이용하여 캐시의 적중 여부를 그 블록이 적재될 수 있는 라인만 검사하는 방식 라인이 하나만 있으므로 동일한 라인에 부 블록을 반복적으로 액세스하는 겨우 캐시 실패율이 매우 높아지는 단점이 있음 연관 매핑(Associative Mapping) 주기억 장치의 블록이 캐시의 어느 라인에도 적재..
저장 장치의 개념 컴퓨터가 프로그램을 수행하기 위해서는 주 기억 장치에 있어야 하지만, 주 기억 장치는 모든 프로그램을 영구히 보존하기에는 너무 작고, 휘발성이라는 문제점이 있음 이를 극복하기 위해 캐시와 메모리,그리고 하드 디스크로서 저장 장치를 구성하게 되면 접근 속도는 캐시처럼 빠르게, 저장 공간은 하드 디스크처럼 크게 할 수 있는데, 이를 저장 장치의 계층 구조하 함 제약 조건 컴퓨터의 저장 장치는 용량, 접근 속도, 비용 등 3가지 제약 조건을 고려하여 설계되어야 하며, 이들은 각각 상충 관계(trade-off) 가 있음 접근시간이 짧을수록 비트 당 비용이 높아짐 용량이 클수록 비트 당 비용이 낮아짐 용량이 클수록 접근 시간이 길어짐 용량, 비용, 접근 속도 간의 상충 관계 때문에 단일 저장 장..
캐시 메모리 캐시 메모리는 빠른 속도로 처리되는 프로세서와 상대적으로 느린 속도로 처리되는 메인 메모리 사이에서 데이터를 저장하는 고속 버퍼 저장 장치 시스템에 캐시 메모리를 결합한 캐시 메모리 시스템은 메모리 가격과 성능 사이에서 절충을 위한(즉, 느린 메인 메모리에 의해 나타나는 성능 저하를 감소시키기 위한) 방법 가상 메모리(Virtual Memory) 메인 메모리의 유효 크기를 증가시키기 위해 사용되는 기법으로, 현재 실행 중인 프로그램과 데이터를 물리적인 메인 메모리 영역에 전부 저장되어야 하지만 메인 메모리의 공간 부족으로 저장할 수 없는 경우에 , 자기 디스크와 같은 보조 기억 장치에 메인 메모리에서 실행 중인 부분 이외의 나머지 부분을 저장 실행에 필요한 프로그램과 데이터를 메인 메모리로 ..