본문 바로가기

Computer Science9

[OS] 프로그램의 구조와 실행 1. 동기식 입출력 (Synchronous) 동기식 입출력에서는 I/O를 요청 후 입출력 작업이 완료된 후에야 제어가 사용자 프로그램에게 넘어간다. I/O는 커널을 통해서만 할 수 있다. 사용자 프로그램이 I/O 요청을 커널에게 하면, 그 I/O 장치에 맞는 디바이스 드라이버를 거치고 실제 하드웨어를 통해서 I/O를 한다. I/O는 시간이 걸리는 작업이기에 어느 정도 시간이 흐른 뒤에야 I/O가 끝난 것이 도착하고, 이를 보고 사용자가 다음 작업을 한다. 동기식 입출력에서는 I/O 작업이 끝날 때까지 아무 일도 안 하고 기다려야 하므로 CPU가 낭비된다. 매 시점 하나의 I/O만 일어나기 때문에 I/O 장치도 낭비된다. 2. 비동기식 입출력 (Asynchronous) 사용자 프로그램이 I/O 요청을 커널.. 2021. 11. 18.
[OS] 컴퓨터 시스템의 동작 원리(컴퓨터 시스템 구조 & 입출력 수행) 흔히 컴퓨터 시스템의 구성을 이야기할 때, 컴퓨터 시스템은 컴퓨터와 입출력 장치로 이루어져 있다고 말한다. 여기서 컴퓨터는 CPU와 Memory로 이루어져 있다. 또한, 입출력 장치에서의 입력은 입출력 장치의 데이터가 컴퓨터 안으로 들어가는 것을, 출력은 그 데이터를 받아서 컴퓨터에서 처리 후 결과를 다시 입출력 장치로 내보내는 것을 말한다. 컴퓨터 시스템은 위 그림처럼 매우 복잡하게 이루어져 있다. 좌측의 CPU와 Memory로 구성된 것이 컴퓨터이고 우측의 디스크, 키보드, 마우스 등으로 구성된 것이 입출력 장치이다. 위 그림의 다양한 용어들을 하나하나씩 살펴보겠다. 1. CPU CPU에서는 매 순간마다 메모리에서 instruction(기계어)을 하나씩 읽어서 실행한다. 이 하나의 instructio.. 2021. 11. 5.
[OS] 운영체제 개요 1960년대 이후 다양한 프로그래밍 언어가 발전하던 시기에 운영체제가 개발되기 시작했다. 운영체제(OS)란 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층을 말한다. 메모리에 상주하는 운영체제의 부분을 '커널'이라 부르는데, 따라서 커널은 운영체제의 핵심 부분이라 할 수 있다. 위 그림을 보면 운영체제는 소프트웨어&사용자와 컴퓨터 하드웨어 사이에 껴있다. 따라서 운영체제의 목적은 하드웨어를 위한 목적과 사용자를 위한 목적으로 나누어 존재한다. 우선 하드웨어 쪽에서는 컴퓨터 시스템의 자원, 즉 프로세서와 기억장치, 입출력 장치 등을 효율적으로 관리한다. 예를 들면 실행 중인 프로그램들에게 짧은 시간씩 CPU를 번갈아 할당하거나, 실행 중인 프로그램들.. 2021. 11. 4.