본문 바로가기

필기/OS6

[OS] Time Sharing Systems. 등장 배경에는 하드웨어가 무어의 법칙에 따라 성능이 좋아지면서 싸지면서 상대적으로 사람의 인건비가 더 비싸지게 되었다. 그래서 사람의 생산성을 높이는 것에 관심을 가지기 시작해서 Time Sharing Systems가 등장한 것이다. 목표는 사람의 생산성을 증가시키는 것이고, 그렇게 하기 위해 프로그램을 실행해서 submission 을 기다리는게 아니라 프로그램이 실행 중에 사람과 뭔가 interactive 한 일들을 할 수 있게 한 것이다. 그래서 Batch Multiprogramming에서는 JCL을 이용해서 Job sequencing을 자동화했다면, Time sharing에서는 커맨드 명령어를 터미널에 입력해서 프로그램과 계속 소통하는 형태를 취하게 되었다. 이것은 CPU가 충분히 빨라서, 그 CP.. 2022. 3. 29.
[운영체제] OS의 역할, OS의 발전 OS의 목적과 역할 OS는 하드웨어 위에서 동작하는 소프트웨어 프로그램이다. OS 위로는 다양한 어플리케이션들이 동작을 하게 되는데, 이러한 어플리케이션을 더 편하게 사용할 수 있고, 더 편하게 개발할 수 있는 환경을 제공해야 한다. 또한 다양한 컴퓨터 자원을 효율적으로 관리해야 한다. 또한 OS는 유연하게 설계가 되어있어서, 새로운 기능을 추가하거나 수정을 해도 기존 기능에 영향을 미치지 않아야 한다. OS는 컴퓨터 자원 관리자의 역할을 한다. 어디에 저장을 하고 어떻게 데이터를 처리하고, 어떻게 데이터를 전송하고... 이 모든 작업에는 컴퓨터 메모리, CPU, System bus 등 많은 컴퓨터 자원을 사용하는데, OS가 최대한 효율적으로 사용하도록 해준다. OS는 어플리케이션과 하드웨어 사이에서 중.. 2022. 3. 27.
[운영체제] I/O 디바이스, APIC I/O controller CPU와 I/O 디바이스는 서로 직접 연결되어 있지 않고, 중간에 I/O Controller라는 것이 존재한다. I/O Controller 내부에도 여러 레지스터가 존재하는데 CPU, I/O Controller가 병렬적으로 일을 수행할 수 있다. 그렇게 함으로써, CPU를 대기상태로 만드는 시간을 줄여서 성능을 높인다. CPU와 I/O Controller는 중간에 System bus로 연결되어 있다. Address bus는 source와 destination을 지정하고, Data bus로 data들을 전송한다. 그리고 Control bus로는 I/O에 read, write 하기 위한 명령어가 전송된다. I/O Controller 내부에는 크게 3가지 종류의 레지스터가 있다고 한.. 2022. 3. 27.
[운영체제] Interrupt는 무엇일까? Interrupt란? CPU에서 프로그램을 실행하고 있을 때, I/O 디바이스 등에서 예외상황(키보드 입력, 마우스 클릭 등)이 발생했을 때 처리가 필요한 경우에 CPU에게 알려서 처리되게 하는 것을 말한다...라고 위키피디아에 쓰여있다. CPU는 Fetch - Decode - Execution을 반복한다고 이전 글에서 설명했다. 이제 저기에 Interrupt가 왔는지 안왔는지 체크하는 과정이 추가가 된다. 키보드, 마우스, 시스템 타이머 등 I/O 디바이스들은 CPU에 직접 연결하는 것이 아니라 Programmable Interrupt Controler(PIC)에 연결 되어있다. PIC이 CPU와 연결되어 있는데, PIC에서 CPU에게 Interrupt가 있는지 없는지 알려준다. Interrupt가 없.. 2022. 3. 24.