본문 바로가기

운영체제28

다중프로그래밍, 시분할 [다중 프로그래밍] ○ CPU 작업과 입출력 작업을 병행하는 것 ○ 일반적으로 단일 사용자는 CPU 나 입출력 장치를 항상 무언가를 하도록 유지할 수 없다 하지만 다중 프로그래밍은 한 명의 사용자도 종종 여러 프로그램을 동시에 실행 시킨다. 작업은 처음에는 디스크의 작업 풀에 유지된다. 디스크 작업 풀 : 공간으로 디스크에 얽혀 들여져 대기하고 있는 여러 작업들이 실행 될 수 있도록 준비시킨다.(작업 풀의 있는 작업들은 메인 메모리의 할당을 기다린다) 운영체제는 메모리의 용량만큼 여러 작업을 적재한다. 이때 몇몇 작업들이 메모리로 옮겨질 준비가 되었지겠지만 메모리의 용량이 충분치 않아 작업들 중 몇 개를 선택해야 한다. 이러한 결정을 하는 것을 작업 스케줄링 이라고 한다. 현재 보이는 작업들은 작업 풀에.. 2022. 3. 24.
클러스터형 시스템 [클러스터형 시스템(Clustered Systems)] 다중 처리기 시스템과 같이 여러 CPU를 가진 시스템의 또 다른 유형을 클러스터형 시스템이라고 한다. 컴퓨터 클러스터는 여러대의 컴퓨터들이 연결되어 하나의 시스템처럼 동작하는 컴퓨터들의 집합이다. 이 여러대의 컴퓨터들을 독자적 시스템 또는 노드라고 한다. 각 노드들은 단일 처리기 시스템일 수도, 멀티코어 시스템일 수도 있다. 클러스터 컴퓨터는 저장장치를 공유하고 근거리 통신망이나 고속의 상호 연결망으로 연결된다. 보통 Storage-area network(SAN)을 통하여 저장장치를 공유한다. 클러스터링은 높은 가용성을 제공하기 위해 사용된다. 하나의 노드에 장애가 생겼을 때 연결된 다른 노드의 컴퓨터가 서비스를 이어받아 계속해서 서비스를 제공할 수.. 2022. 3. 23.
다중 처리기 시스템 [다중 처리기 시스템] 밀접한 통신을 하는 둘 이상의 처리기(CPU)들을 가지는 시스템 이 시스템은 컴퓨터 버스, 메모리와 주변 장치를 공유한다. [다중 처리기 시스템의 장점] 1. 증가된 처리량으로 인한 성능 향상 CPU의 개수가 증가하면 짧은 시간 안에 더 많은 일을 수행할 수 있게 되어 처리량이 늘어나고 성능이 향상된다고 볼 수 있다. 하지만 CPU의 개수가N개 늘어났다고 해서 성능이 N배 좋아지는 것은 아니다. 다수의 CPU가 하나의 일을 위해 협력할 경우 모든 부분이 정확히 작동하도록 유지하기 위해 약간의 오버헤드가 발생하기 때문이다. 팀플을 해본 사람들은 알겠지만 많은 사람들이 한 그룹이 되어 동일한 프로젝트를 수행했을 때 프로젝트의 진전 속도가 N배가 되지는 않는다. 2. 규모의 경제(비용 .. 2022. 3. 23.
DMA(직접 메모리 접근 구조) [DMA(직접 메모리 접근 구조)] 특정 하드웨어 하위 시스템이 CPU와 독립적으로 메인 시스템 메모리에 접근할 수 있게해주는 컴퓨터 시스템의 기능이다.메인 메모리 속도에 근접한 속도로 정보를 전송할 수 있는 고속 입출력 장치를 위해 사용되는 기법 예시를 들어보자) 철수는 파일을 읽기 위해 파일을 클릭했다.CPU는 철수가 파일을 클릭했기 때문에 메모리에 저장되어 있는 파일을 계속 읽어서출력 장치에게 전달한 후 철수에게 파일 내용을 계속 보여줘야 한다.이렇게 되면 CPU는 엄청 바쁠 것이다. 여기서 DMA(직접 메모리 접근) 장치를 사용하면 출력 장치가 CPU를 거치지 않고 바로 메모리에 접근할 수 있게 된다. 파일을 클릭하면 CPU가 "출력장치야 할일 너무 많으니간 니가 직접 메모리에 접근해서 파일 읽어.. 2022. 3. 23.