2 분 소요

Chapter 1: 운영체제 개요 (1)

운영체제의 정의, 목적, 컴퓨터 시스템 내에서의 기능이 무엇인지 알아본다.

키워드

  1. 운영체제 - 정의, 목적
  2. 컴퓨터 시스템의 구조

내용 정리

1. 운영체제란?

정의

소프트웨어와 하드웨어를 연결하는 소프트웨어 계층

목적

컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공

  • 동시 사용자/응용 프로그램들이 각각 독자적 컴퓨터에서 수행되는 것 같은 환상을 제공
  • 하드웨어를 직접 다루는 복잡한 부분을 운영체제가 대행 (입출력과 메모리 할당과 같은 하드웨어 기능)
  • 상업적으로 보자면 소비자가 상품을 더 쉽게 잘 사용할 수 있도록 도와주는 플랫폼, 그래서 비개발자 또한 컴퓨터를 잘 사용할 수 있도록 정돈된 gui를 제공하는 것도 운영체제의 목적이라 생각 컴퓨터 시스템의 자원을 효율적으로 관리
  • CPU, 메모리, I/O 장치 등의 효율적 관리
  • 특정 사용자/프로그램을 사용하느라 다른 사용자/프로그램을 사용하지 못하는 일이 없도록 => 형평성
    • 실행 중인 프로그램들에게 짧은 시간씩 CPU를 번갈아 할당

2. 컴퓨터 시스템의 구조

컴퓨터 내부에는 cpu, 메모리등이 있고 그것들이 입출력 디바이스들과 I/O controller로 연결되어 있음

📘 I/O Controller란?

I/O controller는 CPU(Central Processing Unit)과 motherboard를 연결시켜주는 마이크로칩이다. I/O controller는 다양한 주변 기기들과(input and output devices) 컴퓨터를 연결 및 관리에 도움을 준다. 마더보드(메인보드)는 컴퓨터 시스템의 주요 구성 부품들을 설치, 연결, 조절하는 주 회로 기판이다.
I/O controllers are a series of microchips which help in the communication of data between the CPU and the motherboard. The main purpose of this system is to help in the interaction of peripheral devices with the control units (CUs). Put simply, the I/O controller helps in the connection and control of various peripheral devices, which are input and output devices. It is usually installed on the motherboard of a computer.

스케줄링(Scheduling)의 목적

  1. 공평성: 모든 프로세스가 자원을 공평하게 배정받아야 하며, 특정 프로세스가 배제되어서는 안된다.
  2. 효율성: 시스템 자원을 놀리는 시간 없이 스케줄링해야 한다.
  3. 안정성: 우선순위를 사용하여 중요한 프로세스가 먼저 처리되도록 해야 한다.
  4. 반응 시간 보장: 응답이 없는 경우 사용자는 시스템이 엄춘 것으로 가정하기 때문에 시스템은 적절한 시간 안에 프로세스의 요구에 반응해야 한다.
  5. 무한 연기 방지: 특정 프로세스의 작업이 무한히 연기되어서는 안된다.

CPU 스케줄링 (CPU Scheduling): 모든 프로세스가 공평하게 작업할 수 있도록 프로세스가 생성된 후 종료될 때까지 모든 상태 변화를 조정하는 일. 어떤 프로세스에 CPU를 배정할지 결정함.
메모리 관리 (Memory Management): 한정된 메모리를 어떻게 쪼개어 쓸지 결정하는 과정.
디스크 스케줄링 (Disk Scheduling): 디스크에 들어온 요청을 어떤 순서로 처리할지 결정하는 과정. I/O scheduling이라고도 불림.

📘 디스크란?

디스크는 반영구적 저장 장치이다. 디스크는 일반적으로 하드디스크인데(Hard Disk Drive) 고속으로 디스크를 회전시켜 저장하는 방식으로 턴테이블이 작동하는 방식과 유사하다. HHD는 SSD가 나타나기 이전부터 존재하던 레가시 기술이다. HHD는 값싸기 때문에 백업 파일과도 같은 자주 접근하지 않는 데이터에 접근할 때 사용한다.
SSD(Solid State Drives)는 반도체(Solid-state electronics)를 이용하는 저장 장치이다. 모든 데이터를 집적 회로(integrated circuit)에 저장함으로 용량과 성능 면에서 큰 발전을 이뤄냈다.

빠른 CPU와 I/O 장치간 속도차를 극복하기 위해서 고안된 것들:

  • 인터럽트 (interrupt): CPU가 프로그램을 실행하고 있을 때, 입출력 디바이스에서 예외상황이 발생하여 처리가 필요할 경우에 마이크로프로세서에게 알려 처리할 수 있게 하는 것.
  • 캐싱: 고속 데이터 저장 계층으로, 데이터 기본 저장 위치에 엑세스하는 것보다 빠르게 요청을 처리할 수 있어 이전에 검색하거나 계산한 데이터를 효율적으로 재사용할 수 있음.

댓글남기기