본문 바로가기

cs

(41)
OS - 세그먼테이션 기법 (segmentation) 세그먼테이션 기법 * 가상기억장치에 보관된 프로그램을 다양한 크기의 논리적인 단위로 나눈 후 주기억장치에 적재시켜 실행시키는 방법 * 논리적인 크기로 나눈 단위를 세그먼트라 하며 각 세그먼트는 고유한 이름과 크기를 갖는다 * 각 세그먼트는 다른 세그먼트에게 할당된 영역을 침범할 수 없으며, 이를 위해 기억장치 보호키 (storage protection key)를 사용한다 * 프로그램이 여러 개의 분리된 주기억장치 블록을 차지할 수 있도록 하되 각 블록은 같은 크기일 필요는 없으나 연속된 기억장소로 구성되어야 한다 * 세그먼트 기법의 위치지정 방법은 first-fit, best-fit, worst-fit 방법과 동일하다 실행 프로세스가 가상기억장소의 주소를 V=(s,d)로 참조한다 세그먼트 사상기법은 우선..
OS - 페이징 기법 페이징 기법 * 기억공간을 동일한 고정크기의 페이지로 나누어 페이지 단위의 기억공간 할당을 한다. * 가상주소는 페이지 번호와 페이지 내의 변위로 구성된다 * 주소변환을 위해 페이지 매핑 테이블이 필요해서 추가적인 기억공간 낭비가 발생한다 1. 직접사상에 의한 페이징 기법 직접 페이지 사상표를 참고해서 페이지를 찾는 방법이다 페이지 사상표의 내용 페이지 존재 비트 보조기억장치 주소 페이지 프레임 번호 i s p' 페이지 사상표는 참조된 페이지가 주기억장치에 존재하는지의 여부를 나타내야 하며 있다면 그 위치를 반환하고 존재하지 않는다면 보조기억장치의 어디에 있는지를 지시해야 한다 참조한 페이지가 주기억장치에 없는 현상을 페이지 부재(page fault)라 한다 페이지 사상표의 시작주소 b 가상주소 V=(p..
OS - 블록사상 블록사상 * 주소변환사상 또는 매핑이라 한다 * 가상기억장치에 있는 프로그램이 주기억장치에 적재되어 실행될 때 가상기억장치의 논리적인 주소를 주기억장치의 실기억주소로 변환하는 작업 * 프로세스가 실행되는 동안 가상주소를 실주소로 바꾸는 절차를 의미하며 동적 주소변환이라고도 한다 * 정보를 블록으로 분류한 후 가상기억장소의 여러 블록이 실기억장치의 어느 곳에 위치하는지를 관리하기 위해서는 블록사상 기법을 사용한다 1. 가상주소변환 (VAT: Virtual Address Translation) 가상주소를 실주소로 변환하는 주소변환 함수 2. 블록사상의 주소 이차원적으로 특정 항목을 참조하기 위해 그 항목이 들어 있는 블록의 번호와 해당 블록의 시작으로부터 특정 항목까지의 거리를 나타내는 변위를 이용해서 지정..
OS - 가상기억장치 가상기억장치 * 하드디스크와 같은 보조기억장치의 일부를 주기억장치처럼 사용하는 것. 주기억장치의 용량보다 큰 프로그램을 실행하기 위해 사용한다 * 여러 개의 작은 블록 단위로 프로그램을 나누어 가상기억장치에 보관해 놓고, 프로그램을 실행할 때 요구되는 블록만 주기억장치에 불연속적으로 할당하여 처리한다. * 실행중인 프로세스가 참조하는 주소를 가상주소라고 하며 주기억장소에서 사용할 수 있는 주소를 실주소라고 한다1. 특징 블록 단위로 나누어 사용하므로 연속할당방식에서의 단편화를 해결할 수 있어 주기억장치의 이용률을 높일 수 있다. 다중프로그래밍의 효율을 높일 수 있다 가상기억장치의 주소를 주기억장치의 주소로 바꾸는 주소변환작업이 필요하다 2. 고정분할 기법 가상기억장치와 주기억장치를 동일한 크기의 페이지 ..
OS - 기억장치 교체 기억장치 교체 초기의 시분할 시스템에서 많이 사용됨. 한 번에 하나의 작업이 주기억장치를 사용할 수 있는 상황에서 다중 프로그래밍을 수행하다보면 자연스럽게 발생되는 현상. 어떤 프로그램 전체를 주기억장치에 적재하여 사용하다가 필요에 따라 다른 프로그램과 교체하는 기법. 한 작업이 짧은 시간동안 전 기억장치를 사용하며, 작업이 제거되고 난 다음 그 다음 작업이 들어온다하나의 사용자 프로그램이 완료 될 때 까지 교체과정을 여러 번 수행할 수 있는 데, 이후에 교체 시스템은 페이징 시스템으로 발전되어 가상기억장치 관리에 사용되고 있다보조기억장치에 있는 프로그램1 프로세서의 요청에 의해 실행될 수 있도록 주기억장치로 이동되는 것을 Swap-in 이라 하며 반대로 주기억장치에 있던 프로그램2를 보조기억장치로 이동..
OS - 단편화, 동적 분할 다중 프로그래밍 1. 단편화 (fragmentation) 사용되지 않고 남은 기억장치의 빈 공간 조각. 데이터를 배치하고 남는 공간인 내부 단편화와 기억장치의 크기가 작아 배치하지 못하고 남는 공간인 외부 단편화로 구분된다 2. 동적 분할 다중 프로그래밍 = 가변분할 할당(MVT: Multiple contiguous Variable parTition allocation) = 동적 할당(Dynamic Allocation) 미리 기억장치를 분할해 놓는 것이 아니라 프로그램을 주기억장치에 적재할 때 필요한 만큼의 크기로 영역을 분할하는 기법. 고정분할 할당기법의 단편화를 줄이기 위한 것이다. 2.1. 특징 주기억장치를 효율적으로 사용할 수 있다 다중 프로그래밍의 정도를 높일 수 있다 고정분할 할당기법에 비해 실행될 프로세의 ..
OS - 다중 프로그래밍 (고정분할 다중 프로그래밍) 1. 고정분할 다중 프로그래밍 운영체제가 주기억장치를 할당하기 전에 주기억장치의 사용자 영역을 여러 개의 일정한 크기로 분할하고 준비상태 큐에서 프로그램을 각 영역에 할당하여 실행하는 기법1.1 특징 프로그램 전체가 주기억장치에 위치해야 프로그램을 실행할 수 있다 분할된 영역보다 프로그램이 커서 그 영역 안에 들어갈 수 없는 경우(외부 단편화)가 발생할 수 있다 고정된 크기의 분할영역에 여러 다양한 크기의 분할영역이 할당되므로, 내부 단편화 및 외부 단편화가 발생하여 주기억장치의 낭비가 크다 실행할 프로그램의 크기를 미리 알고있어야 한다 1.2 절대번역과 적재 (absolute translation loading) 주기억장치가 여러 개의 고정된 크기로 분할되어 있고 작업들이 절대 어셈블러와 컴파일러에 의..
OS - 기억장치 관리기법 기억장치 관리기법 1. 기억장치 관리자 기억장치를 관리하는 운영체제의 기능 기억장치의 사용중인 부분과 미사용중인 부분을 체크해서 프로세스에게 할당하거나 회수하는 역할 일반적으로 주기억장치와 가상기억장치 관리 2. 호출기법 다음에 수행될 프로그램과 데이터를 보조기억장치에서 언제 기억장치로 적재할 것인지를 결정하는 전략 요구반입 프로그램이나 데이터에 대한 요구가 발생하면 주기억장치로 로드하는 방법 예상반입 실행 중인 프로그램에 의해 참조될 프로그램이나 데이터를 미리 예측하여 적재하는 기법 3. 배치기법 보조기억장치로부터 반입된 프로그램이나 데이터를 주기억장치의 어느 곳에 적재시킬 것인가를 결정하는 것 적재할 위치를 정하는 전략 3.1 배치기법 종류 최초 적합 (first-fit) 주기억장치 내의 공백 중 프..
OS - 기억장치의 구성 기억장치의 구성 CPU가 직접 참조 가능한 기억장치, 보조기억장치로 분류 가능하다. CPU가 직접 참조 가능한 기억장치 레지스터, 캐시메모리, 주기억장치(메모리 (RAM)) 보조기억장치 ssd, m.2, 하드디스크, 자기테이프, CD 드라이브 등 HTML 삽입 미리보기할 수 없는 소스 하위의 기억장치일수록 기억용량이 많고 저가지만, 접근속도가 감소되고 접근 시간이 느려진다 1 레지스터 계층적 구조에서 최 상위에 위치하고 있는 레지스터는 중앙처리장치의 속도와 비슷한 고속의 기억장치. 중앙처리장치 내에 존재하는 것으로 범용 레지스터와 특수 목적 레지스터로 구분된다 2 캐시메모리 컴퓨터 속에 장착해 속도를 빠르게 하는 임시 메모리 CPU 내에 존재하는 L1캐시와 CPU와 주기억장치 사이에서 속도의 차이를 보완..
OS - 종류, 분류 1. 운영체제의 종류 일괄처리, 대화형, 실시간, 하이브리드 시스템의 4종류로 구분이 가능하다 일괄처리 시스템 주로 OMR 카드나 OCR 카드를 이용 사용자와의 상호작용 없이 순차적으로 실행되는 시스템 대화형 시스템 이용자에게 즉각적인 피드백 제공 사용 중인 이용자 수에 따라 응답시간이 다르다 개인용 컴퓨터는 한 명의 이용자로 구성된 대화형 시스템이라 볼 수 있다 실시간 시스템 모든 시스템 중 가장 빠르다. 결과값이 현재의 결정에 영향을 주기 때문에 데이터의 처리가 극도로 빨라야 하며, 반환시간이 매우 중요한 환경에서 사용하는 시스템 하이브리드 시스템 일괄처리 시스템과 대화형 시스템의 혼합형 대부분의 대형 컴퓨터시스템에서 사용중 2. 운영체제의 분류 기능에 따라 제어 프로그램과 처리 프로그램으로 구분 가..