본문 바로가기

분류 전체보기52

입출력 장치들에 대해서 장치 드라이버 각 컨트롤러는 명령을 내리거나 상태 정보를 읽어내기 위해서 혹은 둘 모두를 위한 특정한 장치 레지스터를 지닌다. 장치 레지스터의 수, 명령의 속성은 근본적으로 장치에 따라서 달라진다고 볼 수 있다. 예를 들어 마우스 드라이버는 얼마나 멀리 움직였는지, 또는 현재 어떤 버튼이 눌려졌는지를 말해주는 마우스로부터 정보를 수락해야만 한다. 컴퓨터에 부착된 각 입출력 장치들은 그것을 제어하기 위해 필요한 어떤 특정 코드를 필요로 한다. 장치 드라이버라고 불리는 이 코드들은 일반적으로 장치의 제조사가 작성하고 장치와 함께 제공된다고 보면 된다. 각 운영체제가 각각 그 본연의 드라이버를 필요로 하기에 장치 제조사는 일상적으로 여러 유명한 운영체제를 위한 드라이버를 제공한다. 각 개별 장치 드라이버는 정.. 2024. 8. 18.
컴퓨터 스케줄링 알고리즘 스케줄링 컴퓨터는 종종 다수의 프로세스 또는 스레드가 동시에 CPU를 사용하기 위해서 경쟁하는 경우가 발생한다. 이런 상황에서는 둘 또는 그 이상이 준비 상태인 경우에 항상 발생하게 된다. 단 하나의 CPU만 사용할 수가 있다면 다음에 실행할 프로세스를 선택해야만 한다. 이와 같은 선택을 하는 운영체제의 일부분을 스케줄러라고 부르며 스케줄러의 알고리즘을 스케줄링 알고리즘이라고 한다. 과거에 자기 테이프에 담긴 카드 이미지 형태로 입력을 받는 배치 시스템 시대로 되돌아가 보면 스케줄링 알고리즘은 상당히 단순했다. 테이프의 다음 작업만을 실행하면 되었다. 다중프로그래밍 시스템에서는 보통 서비스를 기다리는 여러 명의 사용자가 있기 때문에 스케줄링 알고리즘은 훨씬 더 복잡하다. 몇몇 메인 프레임에선 여전히 배치.. 2024. 8. 16.
클록 (타이머) 클록 하드웨어컴퓨터에는 두 가지 클록이 일반적으로 사용된다. 단순한 클록은 110 혹은 220 볼트 전력 선으로 연결되어 있고 매 전압 주기마다 50 혹은 60 Hz에서 인터럽트를 발생한다. 이 클록은 많이 사용되었지만 지금은 거의 사용되지 않는다. 다른 종류의 클록을 보면 수정 진동자, 카운터 그리고 보유 레지스터 등으로 구성된다. 하나의 수정 결정 조각이 적절히 잘라져서 진동 장치에 마운트 되면 선택한 수정에 의존해서 수 백 MHz 범위에서 매우 정확한 주기적인 신호를 생산하게 된다. 전자회로를 이용해서 이 기본 신호는 1000 MHz 혹은 그 이상으로 증폭될 수가 있다. 어떤 컴퓨터에서도 컴퓨터의 다양한 회로에 신호를 동기화하기 위해 공급되는 적어도 하나의 비슷한 회로가 있다. 이 신호는 9까지 카.. 2024. 8. 15.
통신 장비 허브, 스위치, 라우터 이더넷 네트워크에서 허브, 스위치, 라우터 등의 장치는 서로 다른 기능을 가지고 있으며 각각의 역할을 수행한다. 허브 기능, 스위치 기능과 라우터 기능을 통합한 디바이스가 존재하지만, 세 개는 전혀 기능이 다른 것으로 널리 알려져 있다. 허브의 경우, 이더넷 LAN(Local Area Network)에 접속하는 집선 장치로 사용되는 허브에 복수의 단자(포트)가 늘어서 있다. 리피터 허브는 접속처의 요구에 대해서, 상대가 어디에 있는지 모르기 때문에 접속된 모든 기계에 요청한다. OSI 참조 모델의 물리 계층에 위치한 허브는 집선 장치로 수신된 신호를 다른 모든 장치로 전송하는 중계 기능을 갖는다. 패킷 통신을 할 때 데이터는 복사되어 한 핀에서 다른 핀으로 전송된다. 이를 통해 L.. 2024. 8. 14.
메모리와 입출력 메모리 직접 접근에 대해서 CPU가 메모리 맵 I/O를 보유하거나 보유하지 않더라도 데이터를 교환하기 위해서 장치 컨트롤러에 주소를 지정할 필요가 있다. CPU는 입출력 컨트롤러로부터 한 번에 한 바이트씩의 데이터를 요청할 수가 있으나 그렇게 하는 것은 CPU 시간을 낭비한다. 그래서 'DMA 즉, 메모리 직접 접근'이라고 불리는 메커니즘이 종종 사용된다. 운영체제는 하드웨어가, 대부분의 시스템들이 보유하고 있는, DMA 컨트롤러를 가지고 있는 경우에만 DMA를 사용할 수가 있다. 종종  DMA 컨트롤러는 디스크 컨트롤러나 기타 장치 컨트롤러에 통합되는 경우도 있는데 어쨌든 각 장치마다 DMA 컨트롤러를 필요로 한다. 흔히, 단일 DMA가 여러 장치들에 대한 전송을 병렬로 조정하기도 한다. 물리적으로 어.. 2024. 8. 14.
운영체제의 개념 파일에 대해서 운영체제의 중요한 기능들 중 하나가 디스크와 각종 장치들의 세세한 사항들을 숨기고 프로그래머들에게 장치와 무관한 깨끗한 파일이라는 추상적인 모델을 제시하는 것이다. 파일을 생성하고 지우고 조작하기 위해서는 시스템 호출이 꼭 필요하다. 파일이 읽히기 전에 이를 디스크에서 찾고 열수 있어야만 하고 읽기를 다 한 후에는 이를 닫기도 해야 하며 이런 일들을 할  수 있는 호출이 제공되어야만 한다. 파일을 둘 수 있는 곳이 필요한데 대부분의 운영체제는 파일들을 그룹화하는 방법의 하나로 디렉터리라는 개념을 지원한다. 어떤 학생은 자기가 수강하는 각 과목을 위한 디렉터리를 하나 두고, 또 World Wide Web 홈페이지를 위한 디렉터리를 하나 둘 수 있다. 프로세스와 파일의 계층구조는 둘 다 트리 .. 2024. 8. 14.