728x90

컴퓨터 하드웨어 구조

컴퓨터의 구조는 어떻게 생겼을까? 폰 노이만 구조 : 네이버 블로그

오늘날 대부분의 컴퓨터는 프로그램 내장 방식인 "폰 노이만" 구조를 하고 있다.

예전엔 에니악 같이 하드웨어로 프로그램을 만들었기 때문에 프로그램이 달라질 때 마다 매번 스위치와 배선을 다시 조정해야 했다.

폰 노이만은 이를 해결하기 위해 CPU와 메모리를 두고, 이들 사이에는 버스(데이터 전달 통로)로 연결했다.

프로그램은 메모리에 올려시 실행시키는데, 프로그램을 메모리에 내장했다고 해서 프로그램 내장방식이라고 한다.

메모리에 올라간 프로그램은 명령에 따라 처리되고, 스위치나 배선을 바꾸는 대신 메모리의 프로그램만 바꿔주면 되기 때문에 훨씬 편해졌다.

 


오늘날의 컴퓨터 하드웨어

메인보드

다른 하드웨어들을 연결하는 장치이다.

장치간의 데이터를 전송하는 것은 메인보드의 버스가 담당한다.

 

CPU

중앙처리 장치이다.

CPU를 구성하는 3가지

 

산술 논리 연산장치

CPU의 실제 데이터 연산을 담당한다.

 

제어 장치

제어장치는 모든 장치들의 동작을 지시한다.

 

레지스터

레지스터는 CPU내에서 계산을 위해 임시로 보관하는 장치이다.

다양한 종류의 레지스터가 있다. 이를 변수같이 사용한다.

 

 

메모리

1. RAM

RAM은 전력이 끊기면 데이터를 잃어버려서 휘발성 메모리라고도 한다.

메인 메모리 이다.

 

2. ROM

ROM은 전력이 끊겨도 데이터를 계속 보관할 수 있다.

데이터를 한 번 쓰면 수정이 불가하다(Read Only Memory).

때문에 ROM은 컴퓨터의 부팅과 관련된 BIOS를 저장하는데 이용된다.

728x90

'OS' 카테고리의 다른 글

OS TIL - 02 스케줄링 목표  (0) 2024.04.05
OS TIL - 01 운영체제란?  (0) 2024.04.05
728x90

스케줄링 목표

1. 리소스 사용률

CPU나 I/O 디바이스의 사용률을 높이는 것을 목표

2. 오버헤드 최소화

스케줄링을 하기 위한 계산이 너무 복잡하거나 컨텍스트 스위칭을 많이 하게되면 안된다.(배보다 배꼽이 더 큰 상황)

3. 공평성

특정 프로세스에게만 CPU가 계속 할당된다면 불공평.
하지만 공평의 의미는 시스템이 따라 달라질 수 있다.

자율주행 자동차용 운영체제를 보자.
운전자의 안전의 이유로 장애물을 인지하고 피하는 프로세스가 굉장히 중요한 운영체제이다.

image

그러므로 제일 중요한 자율주행 프로세스에 CPU가 많이 할당되는 것이 공평하다.

4. 처리량

같은 시간 내에 더 많은 처리를 할 수 있는 방법을 목표로 한다.

5. 대기시간

작업을 요청하고 실행이 될때까지 대기하는 시간이 짧은 것을 목표로 한다.

6. 응답시간

대화형 시스템에서 사용자의 요청이 얼마나 빨리 반응하는지가 중요하다.

image

이 목표들을 모두 최고의 수준으로 유지하기는 힘들다.
때문에 어떤 운영체제가 어느 상황에서 써야하는지 잘 골라야 스케줄링에 있어서 좋은 성능을 낼 수 있다.
만약 처리량을 늘리고 싶다면, 한 프로세스에게 CPU할당량을 늘리고, 응답시간을 늘리고 싶다면, CPU할당량을 줄인다.

image

터치스크린처럼 사용자에게 빠른 응답을 줘야하는 경우, CPU할당량을 줄이고, 여러 프로세스에게 많은 반복을 해주면 응답시간이 줄어들게 될것이다.

image

아니면 과학 계산같은 경우, 처리량이 많기 때문에 CPU할당량을 늘려서 효율을 늘리게 하면 된다.

728x90

'OS' 카테고리의 다른 글

OS TIL - 03 컴퓨터 하드웨어 구조  (0) 2024.04.05
OS TIL - 01 운영체제란?  (0) 2024.04.05
728x90

 

1.1 운영체제의 구조

커널 (컴퓨팅) - 위키백과, 우리 모두의 백과사전

운영체제의 핵심은 "커널"이다

커널은 프로세스와 메모리, 저장장치를 관리한다.

사용자는 운영체제에 직접 접근할 수 없고 인터페이스를 통해 접근할 수 있다.

인터페이스는 GUI 와 CUI로 나뉘는데 이것은 텍스트냐 그림이냐의 차이만 있을 뿐, 커널에 접근하기 위한 목적은 같다.

04 OS 서비스와 시스템콜 | CloudStudying

어플리케이션 같은 경우, 시스템 콜을 통해서 커널에 접근할 수 있다.

커널은 사용자로부터 자신을 보호하기 위한 "시스템 콜"이라는 인터페이스를 가지고 있다.

사용자나 어플리케이션이 하드디스크에 접근한다고 가정해보자.

 

시스템 콜이 없이 어플리케이션이 하드디스크에 접근하게 되면 원래 하드디스크에 있었던 중요한 데이터들을 덮어씌워서 기존의 데이터들이 날아갈수도 있다.

시스템 콜 인터페이스를 사용하면 Write()라는 함수를 사용하게 되는데, 이 함수는 운영체제가 알아서 하드디스크의 빈 공간에 저장하게 된다.

 

LInux Kernel] 문자 디바이스 드라이버 작성

하드웨어와 커널의 사이에도 인터페이스가 있는데, 바로 "드라이버"이다.

운영체제는 많은 종류의 하드웨어를 전부 지원해야 하기 때문에 각각의 하드웨어에 맞는 프로그램을 커널이 미리 갖고 있기는 힘들다.

그래서 하드웨어를 제작한 제작사에서 드라이버를 만들어 제공하는게 일반적이다.

728x90

'OS' 카테고리의 다른 글

OS TIL - 03 컴퓨터 하드웨어 구조  (0) 2024.04.05
OS TIL - 02 스케줄링 목표  (0) 2024.04.05

+ Recent posts