본문 바로가기
Lecture/OS

컴퓨터의 기본 구성

by YUNZEE 2023. 10. 10.
728x90
하드웨어의 구성

컴퓨터는 중앙처리장치(CPU), 메인메모리,  입력장치, 출력장치, 저장장치로 구성된다.

 

필수장치: 중앙처리장치(CPU), 메인메모리

주변장치: 입력장치, 출력장치, 저장장치 

 

메인보드는 CPU와 메모리 등 다양한 부품을 연결하고 전원을 공급해 주는 커다란 판이다. 메인보드에서 각 장치를 연결하여 데이터가 지나다니는 통로를 버스 bus라고 한다. 데이터를 전송하는 역할을 한다.

 

폰노이만 구조

오늘날의 컴퓨터는 대부분 폰노이만 구조 von Neumann architecture를 따른다. 폰노이만 구조는 CPU, 메모리, 입출력장치, 저장장치가 버스로 연결된 구조를 말한다. 

폰노이만 구조에서 가장 중요한 특징은 '모든 프로그램은 메모리에 올라와야 실행할 수 있다'는 것이다.

 

요리사 모형 예시

요리사 모형으로 예시를 들어보겠다.(자주 등장할 테니 잘 기억해 두자)

요리사: CPU

도마: 메모리

보관창고: 저장장치

그렇다면

요리 방법 결정: 프로세스 관리

도마 정리: 메모리 관리

보관 창고 정리: 저장장치 관리

라고 비유할 수 있다.

 

모든 조건이 동일하다면 메모리가 1GB인 컴퓨터는 메모리가 4GB인 컴퓨터보다 느리다. 이는 요리사의 요리 속도도 중요하지만 도마의 크기도 속도에 영향을 미치는 것과 마찬가지다 도마가 크면 재료를 모두 가져다 놓고 요리할 수 있지만 도마가 작으면 재료를 모두 가져올 수 없다. 도마가 작으면 재료 하나를 다듬어 보관 창고에 가져다 놓은 뒤 다른 재료를 가져와야 하므로 재료를 손질하는 시간보다 창고로 옮기는 시간이 많이 걸려 작업 속도가 떨어진다.

 

클록과 헤르츠

컴퓨터에서 CPU가 작업을 하거나 하드디스크에서 데이터를 메모리로 옮기는 작업도 일정한 박자에 맞추어 진행한다.

컴퓨터에서 일정한 박자를 만들어 내는 것이 클록 clock이다. 클록에 의해 일정 간격으로 만들어지는 틱 tick을 펄스 pulse  혹은 클록 틱 clock tick이라 부른다. 클록이 일정 간격으로 펄스를 만들면 거기에 맞추어 컴퓨터 안의 모든 구성 부품들이 작업을 진행한다.

 

CPU도 작업할 때도 펄스에 맞추어 진행한다. 데이터를 되는대로 저장하는 것이 아니라 클록이 발생할 때마다 데이터를 저장한다. 이 같은 CPU의 성능을 나타낼 수 있는 단위를 헤르츠 Hertz로 표시한다. 표시단위는 Hz

 

헤르츠는 시간에 따라 변화가 일어날 때 사용하는 단위다. 컴퓨터에서 헤르츠 단위를 사용한다는 것은 1초 동안 몇 번의 작업이 이루어져서 몇 번의 펄스가 발생하였는가를 의미한다. 1초에 펄스가 1번 나타나면 1 헤르츠, 1,000번 나타나면 1킬로 헤르츠가 된다. 예를 들어 3GHz의 CPU가 있다면 해당 CPU는 1초 동안 약 3X10^9번 즉 30억 번의 작업이 가능한 CPU다.

 

시스템 버스와 CPU버스

시스템 버스 system bus는 메모리와 주변장치를 연결하는 버스이며 메인모드의 동작 속도를 의미한다. 시스템버스는 FSB(Front-Side Bus) 혹은 전면 버스라고 부른다. FSB는 메인보드의 버스 클록이 최대 3,200 MHz라는 의미이다. CPU내부에도 다양한 장치들이 있는데 이들은 CPU 내부 버스로 연결된다. CPU내부에 있는 장치를 연결하는 버스를 BSB(Back Side Bus) 혹은 후면버스라 부른다. CPU내부버스의 속도가 시스템 버스(FSB) 보다 훨씬 빠르다.

 

운영체제를 이해하는데 필요한 자료구조인 큐, 스택, 배열, 연결  리스트에 대해 간단히 설명을 하자면

햄버거를 주문하기 위해 줄 서 있는 것을 큐다. 대기 줄과 같은 큐 queue는 먼저 들어온 자료가 먼저 처리되는 First In, First Out의 자료구조다. 

그리고 다음으로는 봉투에 햄버거를 쌓아서 넣는 구조이다. 치즈버거 ->  불고기버거 -> 치킨버거 순으로 봉투에 담는다. 봉투에서 햄버거를 빼는 순은 치킨버거 -> 불고기버거 -> 치즈버거 순으로 나온다. 이것이 스택 stack이다. 큐와 대비되는 스택은 First In, Last Out자료구조다.

배열 array은 형태가 같은 자료를 나열하여 메모리에 연속으로 저장하는 것으로 배열로 테이블을 만들려면 배열의 크기를 선언해야 한다. 단점이라면 삽입과 삭제 같은 관리가 어렵다는 단점이 있다. 그런 단점을 해결한 게 연결 리스트 linked list다. 연결 리스트는 데이터를 포인터로 연결한다. 데이터를 중간에 삽입하는 것도 간단하다.  

728x90

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

컴퓨터 성능 향상 기술  (2) 2023.10.14
CPU와 메모리  (0) 2023.10.12
운영체제의 구성  (0) 2023.09.21
운영체제의 발전  (2) 2023.09.20
운영체제와 컴퓨터  (0) 2023.09.18