본문 바로가기
CS/OS

[OS] 운영체제와 컴퓨터 시스템의 구조

by 배준오 2023. 7. 27.
반응형

[운영체제란?]

운영체제는 컴퓨터 내의 하드웨어와 사용자 및 다른 모든 소프트웨어를 관리시켜주는

하드웨어 바로 윗단에 설치되어 있는 소프트웨어입니다.

ex) Windows, Max OS, Linux, Unix, Android, IOS 등

운영체제와 컴퓨터시스템의 구조

[운영체제의 종류]

운영체제는 앞단의 어떤 인터페이스를 두누냐에 따라 GUI와 CUI로 나눌 수 있음

GUI(Graphical User Interface)는 그래픽을 사용하여 컴퓨터와 상호작용하는 인터페이스

ex) windowOS, macOS

CUI(Character User Interface)는 사용자가 키보드만을 사용하여 문자를 기반으로 컴퓨터와 상호작용하는 인터페이스

ex) MS-DOS

운영체제의 역할

운영체제의 커널이 담당

커널 -> SSD -> RAM -> <- CPU

  • CPU 스케줄링과 프로세스 상태관리 (어떠한 프로세스를 우선순위를 둘거야)
  • 메모리관리(램에 올라가는 메모리를 어떻게 관리 -> 스와핑, 페이지 폴)
  • 디스크 파일 관리(프로그램 설치할 때 어떻게 저장)
  • I/O 디바이스 관리(키보드 마우스 컨트롤)

운영체제의 구조

컴퓨터 시스템의 구조

  • CPU : 인터럽트에 의해 메모리에 존재하는 명령어를 해석해서 실행하는 일꾼
  • DMA컨트롤러 : CPU의 일을 보조하는 일꾼
  • 메모리 : 전자회로에서 데이터, 상태 등을 기록하는 장치(작업장)
  • 타이머 : 특정 프로그램에 시간을 다는 역할
  • 디바이스 컨트롤러 : IO디바이스들의 작은 CPU
  • 로컬버퍼 : 디바이스에 달려 있는 작은 메모

Deivce controller :

각각의 I/O 장치들은 각 장치를 전담하는 작은 CPU가 붙에 있게 되는데

그건 device controller라고 부릅니다.

CPU는 device controller에게 데이터를 읽어오라고 일을 시키고,

그럼으로써 CPU는 메모리 작업을 하고 I/O device의 작업은 device controller에게 시켜

일을 분담하게 됩니다.

(disk의 내부를 통제하는 것은 cpu의 역할이 아니고 device controller의 역할입니다.)

Local buffer :

여기서 메인 cpu의 작업공간인 Main Memory가 있듯이

이러한 device controller들도 그들의 작업 공간이 필요합니다.

그걸 Local buffer라고 부릅니다.

Registers :

CPU안에 Memory보다 빠르면서 정보를 저장할 수있는 공간들

Mode bit :

CPU안에서 실행되는 것이 OS인지 사용자 프로그램인지를 구분해주는 역할을 합니다.

mode bit 0일 때 ==> OS가 CPU를 갖고 있기 때문에

메모리접근, I/O device접근권한을 다 갖게 됨

mode bit 1일 때 ==> 사용자 프로그램이 CPU를 갖고 있기 때문에 제한된

Instruction만 CPU에서 실행이 가능합니다.(보안측면)

Interrupt line :

CPU에 붙어 있으면서 I/O장치에서 Local buffer로 내용을 다 읽어들어왔다면,

이것은 CPU에게 알려야 하는데, 이 알리는 행위를 하기위해 Interrup line이 존재합니다.

Interrupt line이 있기 때문에 CPU는 자신의 일을 하다가, Interrup line에 신호가 들어오면,

하던 일을 멈추고, Interrupt와 관련된 일을 수행합니다.

Timer 의 동작 :

특정 프로그램이 CPU를 독점하지 못하게 막는 하드웨어 입니다.

예를들어 for문이나 while문을 통해 무한루프가 들어오게 될 시,

CPU는 그 프로그램에서 빠져나오지 못하고 분할작업을 하지 못하게 됩니다.

여기서 OS가 CPU를 가지고 있다가 여러 프로그램이 실행될 때 CPU를 넘겨주게 되는데

그래서 CPU가 Instruction을 실행하다가 정해진 시간이 되면 timer는 CPU에게 Interrupt를

걸어주게 됩니다. 그럼으로써 CPU제어권은 OS에게 넘어갑니다.

이 과정에서 또한 timer에게 값을 셋팅한 다음 넘겨주게 되고

promgram이 CPU를 쓰다가 시간만료가 되면 timer interrup가 들어오고 CPU제어권이 OS에게

넘어가고 그 OS는 다음 프로그램에게 CPU를 넘겨주고 이런 과정들을 OS가 관리해주게 됩니다.

DMA controller :

직접 Memory를 접근할 수 있는 controller

I/O 장치가 너무 자주 Interrupt를 걸게 되면 CPU가 방해를 많이 받기 때문에

DMA controller를 통해 중간에 local buffer에 들어오는 작업이 끝났으면

DMA가 직접 메모리에 복사합니다. 그렇게 작업이 끝난 후 CPU한테

Interrupt를 한번만 걸어주기 때문에 CPU를 효율적으로 관리할 수 있습니다.

 

 

CPU

산술논리연산장치, 제어장치. 레지스터로 구성되어있는 장치. 인터럽트에 의해 메모리에 존재하는 명령어를 해석해서 실행하는 일꾼

산술논리연산장치

ALU(arithmetic and logical unit, ALU)는 덧셈, 뺄셈, 곱셈, 나눗셈 등 산술연산과 논리연산을 하는 회로장치를 말함

제어장치

CU(control unit, CU)는 프로세스의 조작을 지시하며 명령어들을 읽고 해석하며 데이터 처리를 위한 순서를 결정

레지스터

CPU안에 있는 매우 빠른 임시기억장치

 

 

반응형

'CS > OS' 카테고리의 다른 글

[OS] 인터럽트/시스템 콜  (0) 2023.07.28
[OS] Memory Management  (0) 2023.04.20
[OS] Deadlock  (0) 2023.04.15
[OS] CPU Scheduling  (0) 2023.03.18
[OS] CPU Scheduling (1차정리)  (0) 2023.03.17