OS

OS

입출력 시스템

입력 장치에는 마우스, 키보드, 게임 패드 등이 있다. 출력 장치는 모니터, 그래픽 카드, 프린터 등이 있다. 입출력 장치는 Lan 카드, 하드 디스크, USB 등이 있다. 입출력 장치는 CPU를 통해 입출력 정보가 들어가고 나오며 메모리에 이 정보들이 저장된다. 입출력 시스템은 입출력 장치 + 입출력 모듈이다. 입출력 장치를 제어하는 데 사용되는 것이 입출력 모듈이다. 이런 입출력 장치에서는 메인 메모리와 CPU 간의 데이터가 주고받는데 이 데이터가 돌아다니는 통로가 버스다. 버스는 데이터 버스, 어드레스 버스, 컨트롤 버스가 있다. 입출력 시스템에는 상태를 저장하는 상태, 제어 레지스터와 데이터를 저장하는 데이터 레지스터가 있다. 만약 키보드가 눌렸다면 이 상태는 상태, 제어 레지스터에 저장된다. 눌..

OS

가상 메모리 관리

2023. 5. 23. 20:51 1차 수정 가상 메모리 관리 가상 메모리는 메모리와 디스크를 같이 사용한다. 만약에 메모리 프레임에 접근할 페이지가 없으면 디스크 영역에서 페이지를 가져와 메모리 프레임에 페이지를 넣어야 한다. 이럴 때 페이지 대치의 필요성을 느낄 수 있다. 즉 할당할 메인 메모리 공간이 부족하면 대치가 필요하다. 페이지 대치란 페이지 부재(메모리에 접근할 페이지가 없다. fault)가 발생하면 메인 메모리에서 사용되지 않는 페이지(victim)를 없애고 새로운 페이지로 바꾸는 기법이다. 순서를 간단하게 알아보자. 희생자 페이지를 메모리에서 디스크로 내보낸다. 페이지 테이블의 타당, 비 타다 비트를 수정한다. 디스크에서 원하는 페이지를 프레임으로 가져온다. 새로운 페이지를 위한 페이지 ..

OS

가상 메모리

가상 메모리(논리메모리)는 물리 메모리에 디스크가 더해진 것이다. 가상 메모리가 디스크, 메모리에 모두 분산 할당을 진행한다. 이러면 메모리 공간이 엄청나게 커지는 이점이 있다. 이렇게 가상 메모리가 가능한 이유는 몇 가지가 있다. 우선 오류코드 루틴이다. 다음은 배열, 리스트, 테이블 중에서 일부만 사용하기 때문이다. 마지막으로는 자주 사용되지 않는 문서 편집기의 기능이다. 위에는 예시다. 잠깐 쉽게 알아보자면 한 프로세스가 존재한다. 그 프로세스는 실행될 때 꼭 프로세스의 모든 부분이 메모리에 가서 실행되지 않는다. 파워포인트 같은 경우에는 기능이 엄청 많지만 우리는 늘 그 모든 기능을 사용하지 않는다. 보통 자주 사용하는 기능만 사용한다. 이처럼 프로세스는 모든 기능을 메모리에 올리지 않고 필요하고..

OS

분산 메모리 할당 - 세그먼트 기법, 페이지화된 세그먼트 기법

페이징 기법을 이용해 분산 메모리 할당을 진행해도 여전히 내부 단편화 문제가 존재한다. 이를 막기 위해 다른 기법이 고안되었다. 바로 세그먼트 기법이다. 먼저 세그먼트란 무엇인가? 세그먼트란 연관된 기능을 수행하는 하나의 모듈 프로그램이다. 세그먼트는 단위 크기가 변하지만 페이징은 고정크기이다. 세그먼트 크기가 다르기 때문에 메모리가 페이지 프레임으로 나누어지지 않고 동적분할(가변분할)기법으로 메모리를 할당한다. 즉 세그먼트는 가변크기이고 페이지는 고정 크기다. 세그먼트는 즉 크기가 달라 length의 개념이 필요하다. 페이지 기법과 마찬가지로 세그먼트 기법도 매핑 테이블을 사용하는데 이걸 세그먼트 매핑 테이블이라고 한다. 세그먼트 주소매핑 예이다. 논리 주소는 우선 세그먼트 테이블의 세그먼트 번호와 변..

Debin
'OS' 카테고리의 글 목록 (2 Page)