폰 노이만 구조
현재 일반적으로 쓰이고 있는 컴퓨터 구조로 주기억 장치, 중앙 처리 장치, 입출력 장치 3가지로 구성된다.
예전엔 새로운 프로그램을 처리하려면 CPU 회로를 다시 구성해야 했다.
하지만 지금은 프로그램을 주기억장치에 저장했다가 CPU가 명령어를 해석하여 처리하고 있다.
(컴퓨터에서 일반적인 데이터의 흐름은 디스크 → 메모리(주기억장치) → CPU)
컴퓨터에서 데이터를 처리하기 위해서는 디스크에 접근해야 한다.
이때 CPU의 데이터 연산 속도는 매우 빠르지만 하드디스크의 데이터 접근 속도는 매우 느리다.
때문에 CPU가 연산을 먼저 끝내고 디스크를 기다리는 시간이 발생할 수 있다.
CPU가 쉬는만큼 데이터 처리에 손실이 생기기 때문에 두 장치 사이의 속도 차이를 극복할 수 있는 무언가가 필요하다.
그 무언가가 바로 메모리(주기억장치)다.
(CPU와 메모리의 속도 차이를 좁히기 위해 사용하는 것은 캐시 메모리)
메모리는 하드디스크보다 데이터 접근 속도가 월등히 빠르기 때문에 속도 차이에 의한 손실을 줄일 수 있다.
운영체제는 처리가 필요한 데이터를 미리 디스크에서 가져와 메모리에 적재한다.
그러면 CPU는 디스크까지 갈 필요 없이 메모리에 접근해서 필요한 연산을 할 수 있다.
CPU 스케쥴링
메모리에는 여러 프로세스가 존재한다.
때문에 어느 프로세스가 얼마나 CPU를 할당 받을 것인지에 대한 관리가 필요하다.
즉 프로세스의 처리 순서 및 서비스 시간 등을 관리하는 것을 스케쥴링이라고 한다.
메모리 관리
메모리는 비용이 많이 나가는 장치이기 때문에 공간을 효율적으로 사용해야 한다.
디스크에 있는 많은 프로그램 중 어느 것을 메모리에 적재할 것인가가 관건이다.
디스크 스케쥴링
프로그램의 대부분은 입출력이 동반된다.
특히 디스크 입출력 속도는 디스크의 속도에 의해서 결정될 것이다.
때문에 조금이라도 더 입출력 요구 성능을 올리기 위해서는 디스크 탐색에 대한 처리 방법을 고민해야 한다.
위처럼 CPU, 메모리, 디스크 등 컴퓨터 자원을 효율적으로 관리하는 시스템이 바로 운영체제다.
용어 정리
시분할: CPU의 처리 시간을 쪼개서 각 프로세스에 할당하는 것
ALU(Arithmetic & Logical Unit): 산술연산 및 논리연산 장치
레지스터(Register): 데이터 접근 속도가 매우 빠른 적은 용량의 기억공간
프로세서: CPU
프로세스: 메모리에 적재된 프로그램, 실행 중인 프로그램
'Study > 컴퓨터구조 | 운영체제' 카테고리의 다른 글
[인프런 기술노트] 동기식 비동기식의 동작 방식 차이 (0) | 2023.02.19 |
---|---|
[인프런 기술노트] 운영체제 설명 - 여러 프로그램이 동시에 실행되는 원리 (0) | 2023.02.19 |
[인프런 기술노트] CPU속도가 Hz(헤르쯔)인 진짜 이유 (feat. 컴퓨터 구조) (2) | 2023.02.19 |