일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 유니크 키
- error
- 백준
- java
- 파이썬
- 객체지향 프로그래밍
- 백준 #
- 데드락
- 큐
- 스택
- 다익스트라
- OOP
- DP
- 디바이스 입출력
- SW Expert Academy
- 운영체제
- 프로세스
- unionfind
- springboot
- Python
- integretion test
- queue
- 코딩 테스트
- 캡슐화
- stack
- 자료구조
- 논리 메모리
- BFS
- OS
- DFS
- Today
- Total
middlefitting
컴퓨터 시스템 구조에 관하여 본문
컴퓨터 CPU 구조에 관한 간단한 구조를 다루려고 합니다.
해당 글에서는 CPU, 레지스터, 메모리, 타이머 및 I/O 디바이스에 관해서 다루고자 합니다.
CPU 란 무엇인가
CPU란 컴퓨터에서 가장 빠른 하드웨어 장치이며,
역할은 현재 CPU를 점유하는 매 인스트럭션을 실행시킵니다.
인스트럭션이란 컴퓨터에게 일을 시키는 단위로서, 기계어로 이루어진 명령어를 말합니다.
연산자가 표시되는 연산자부와 자료의 정보가 표시되는 자료부로 구성됩니다.
CPU의 운명은 메모리에서 인스트럭션을 읽어들이는 것, 그뿐입니다.
레지스터란 무엇인가
레지스터란 메모리보다 빠르면서 정보를 저장할 수 있는 작은 공간을 말합니다.
CPU와 메인 메모리는 속도 차이가 크게 나기 때문에,
그 중간에서 속도의 차이를 극복할 수 있도록 도와주는 계층입니다.
메모리란 무엇인가
메모리란 CPU의 작업 공간을 말합니다. CPU는 메모리 공간에서 인스트럭션을 받아서 실행하게 되고,
메모리는 I/O 장치보다 높은 작업속도를 가지고 있기 때문에, 캐시 메모리라고 부르기도 합니다.
메인 메모리는 원칙적으로 CPU만 저장할 수 있지만, 특별하게 CPU가 과도한 인터럽트가 걸리지 않도록 작업을 도와주는 DMA
컨트롤도 작업이 가능합니다.
타이머란 무엇인가
CPU 제어권을 특정 프로세스가 점유하고, 넘겨주지를 않으면, CPU가 효율적으로 일할 수 없고,
무한 루프가 걸린다면 영원히 제어권이 넘어가지 못하는 문제가 발생할 것입니다.
따라서 운영체체는 CPU 제어권을 넘겨주기 전에 타이머를 세팅하게 됩니다.
타이머는 단어 그대로 해당 프로세스가 운영체제를 점유할 수 있는 최대 시간을 말합니다.
타이머가 만료될 때까지 작업을 완료하지 못한다면, 프로세는 강제로 타이머는 인터럽트를 발생시키게 되고,
해당 프로세스는 비자발적으로 CPU 제어권을 빼앗기고 다시 ready queue로 가서 자신의 차례를 기다리는
방식으로 진행됩니다.
I/O 디바이스란 무엇인가
I/O 디바이스란 입출력 장치를 말합니다.
입출력 장치란 키보드, 모니터 등 다양한 디바이스가 존재합니다.
읽어오는 작업을 Input, 내보내는 작업을 Output 이라고 합니다.
I/O 디바이스는 디바이스 컨트롤러에 의해 제어당하고,
디바이스 컨트롤러는 CPU의 명령을 받아 작업을 처리합니다.
참고문헌
KOWS 운영체제 - 반효경 교수님 - System Structure & Program Execution 1
'OS' 카테고리의 다른 글
[OS] 동기화 도구 세마포어(Semaphores) Mutex(뮤텍스)는 무엇인가 (0) | 2023.01.31 |
---|---|
프로세스 동기화 문제에 관하여 (0) | 2023.01.30 |
CPU 스케줄링이란 무엇일까 (0) | 2023.01.28 |
프로세스 관리에 관하여 (0) | 2023.01.27 |
[Process] 프로세스란 무엇인가 (0) | 2023.01.26 |