[Full CE] 컴퓨터 구조 (2) - 컴퓨터의 기본 구조와 동작

김희정·2023년 7월 6일
0

Full CE

목록 보기
2/2
post-thumbnail

🐬 들어가며

이번 포스팅에서는 컴퓨터 공학의 꽃인 컴퓨터 하드웨어 구성과 소프트웨어에 대해 포스팅해보고자 한다. 이번 포스팅은 컴퓨터의 기본 구조와 동작에 대해 다루기 때문에 상당히 길다.

하드웨어 구성부터 소프트웨어의 종류, 컴퓨터 시동 과정에 대해 다룰 것이다.


🌹 컴퓨터 공학의 꽃

하드웨어 구성은 컴퓨터 공학이라고 할수 있다고 본다. 컴퓨터 공학의 꽃이라 표현한 이유는 실제 컴퓨터를 조립할 때 사용하는 구성들이기 때문이다.

아래 [그림]은 컴퓨터 공학도가 자주듣는 질문이다.

주된 질문 요지는 "컴퓨터 뭐살까? 추천해줘" ⇒ "어떻게 가성비 좋은(싸면서 성능 좋은) 컴퓨터를 살까?"이다.

“컴퓨터학과야? 그럼 내 컴퓨터 좀 고쳐줘” 학과별 자주 받는 질문 Top 5


최근에 업무용 컴퓨터를 맞추려고(아쉽게도 밴당했지만..😂) 조립 PC 견적을 맞춰보면서 느낀점이 하드웨어 구성을 정말 잘 알아야 된다는 것이다.

그리고 이 구조를 알면, 조립 PC를 100만원이면 성능 좋게 맞출 수 있다.

컴공 전공자가 보면서도 멘붕온 것들이 있었는데 비전공자가 보면 얼마나 황당할 까라는 생각이 들었다.



1. 하드웨어의 구성요소

하드웨어는 크게 중앙처리장치(CPU), 기억장치(memory), 입출력장치(I/O Devices)로 구성된다. 다음은 컴퓨터 구성의 추상화된 기본 구조를 도식화해놓은 그림이다.


1.1 CPU부

CPU부에는 CPU와 시스템 제어를 위한 칩셋(chipset)이 있다.

중앙처리장치(CPU, Centeral Processing Unit)는 컴퓨터에서 프로그램을 실행하고 데이터를 처리하는 중추적인 역할을 한다. CPU를 프로세서(processor)라고도 한다.

칩셋(chipset)은 CPU를 도와 메모리나 I/O 장치들을 제어하여 연관된 기능을 수행하도록 설계된 컨트롤러(controller, 제어기) 칩들의 모임이다.

1.2 메모리부

메모리는 CPU가 실행해야할 프로그램 코드나 데이터가 기록된다.

메모리는 용도에 따라 캐시, 고정기억장치(ROM), 메인 메모리(RAM), 보조기억장치(SSD, HDD) 등으로 나눌 수 있다.


1.3 입출력장치(I/O Devices)

컴퓨터와 사용자간 인터페이스로 입출력 데이터를 전송하는 것이 입출력 장치의 주된 목적이다.

입력 장치 ⇒ 키보드, 마우스, 스캐너 등
출력 장치 ⇒ 프린터, 모니터, 스피커 등
입출력 장치 ⇒ 각종 드라이브, 네트워크 어댑터 등



🚌 2 버스(bus)

컴퓨터 시스템에서 버스(bus)는 정보를 교환하기 위해 CPU와 하드웨어 요소들을 연결해주는 신호선들의 집합을 의미한다.

실제의 버스선은 하드웨어로 설치된 전선이고, 64비트 버스선은 가느다란 64가닥의 전선이 신호의 연결통로로 사용된다.

버스의 종류는 기능으로 분류해 3가지(주소 버스, 데이터 버스, 제어 버스)로 나눌 수 있다.


2.1 주소 버스

주소 버스는 번지버스라고도 하며, CPU가 외부로 내보내는 주소 신호를 전송하는데 사용되는 하드웨어 전선들의 집합.

  • 주소버스의 배선 수는 CPU가 물리적으로 다룰 수 있는 외부 기억장치의 최대 용량을 결정
  • 단방향(CPU => 메모리, I/O장치)

2.2 데이터 버스

CPU가 메모리나 I/O 장치와 데이터를 주고받는 통로로 사용되는 하드웨어 전선들의 집합

  • 데이터버스의 배선 수는 CPI가 한 번에 전송할 수 있는 비트 수에 따라 결정. 데이터버스가 64비트면 한번에 최대 64비트까지 데이터 전송 가능
  • 양방향 전송; 데이터 읽고 쓰기 가능

2.3 제어 버스

CPU 내외부에 존재하는 각종 장치를 동작시킬 수 있도록 제어신호를 전송하는 전선들의 집합.

  • 대표적인 제어신호로 기억장치 읽기, 기억장치 쓰기, 입출력장치 읽기/쓰기 신호가 있음
  • 목적에 따라 단방향 또는 양방향 전송이 가능


💻 3. 컴퓨터 구조

우리가 현재 사용하는 컴퓨터는 마이크로 컴퓨터로, 아래와 같은 구조를 구성된다.

마이크로 컴퓨터

마이크로컴퓨터: 마이크로 프로세서를 CPU로 사용하는 소형 컴퓨터를 의미.

과거 1970~80년대 만들어진 용어로 현재는 잘 사용되지 않으며, 요즘 컴퓨터에 들어가는 CPU 프로세서는 거의 마이크로프로세서를 사용한다.

마이크로프로세서도 요즘은 마이크로(-)라는 접두사를 떼고 그냥 프로세서라고 한다.

컴퓨터의 메모리와 입출력장치는 서로 다른 주소 체계로 구분한다. 각 요소에 주소를 할당할 때 메모리 주소I/O 주소로 구분한다. 하드웨어 측면에서메모리라고 하면 대게 메모리 주소가 지정되는 반도체 메모리만을 가리킨다.

나머지 장치들은 모두 입출력장치이며 I/O 주소로 지정한다. 디스크 드라이브는 하드웨어적으로 I/O 주소를 할당받기 때문에 I/O 장치에 해당한다.

마이크로 컴퓨터의 구조

CPU를 도와 하드웨어를 제어하는 메모리 컨트롤러I/O컨트롤러칩셋으로 구성된다.

시스템 버스(system bus)는 CPU와 컴퓨터시스템의 중요한구성 요소들을 연결한다. 시스템 버스를 통해 메인메모리와 칩셋들과 연결된다.

I/O 버스는 I/O 컨트롤러와 입출력장치 사이를 연결한다. 입출력 장치는 I/O 컨트롤러를 통해 시스템버스에 최종 연결된다.



💾 4. 칩셋

칩셋(chipset)이란 여러 개의 칩들과 회로가 모여 서로 연관된 기능을 수행하도록 설계된 제어 칩들의 조합이다.

컴퓨터는 물론 휴대전화, 디지털 TV 등 거의 모든 전자제품에는 특수 목적용 칩셋들이 들어있다. 칩셋은 CPU 프로세서와 함께 시스템 전체를 제어하는 역할을 한다.

컴퓨터의 칩셋은 대게 메인보드 상에 존재한다. 칩셋의 내부 회로는 CPU를 지원하는 각종 컨트롤러 장치들을 갖추고 있다. 각종 버스 컨트롤러, 메모리 컨트롤러, I/O 컨트롤러, 인터럽트 컨트롤러, 타이버 등 다양한 장치들을 포함한다.


4.1 칩셋의 구성

가장 기본적인 칩셋의 구성은 메모리 컨트롤러I/O 컨트롤러이다.

칩셋의 구성으로는 일명 노스브리지(North bridge)사우스브리지(South bridge)로 나뉜다.

  • 노스브리지에는 메모리 컨트롤러가 포함되어 있으며, 주로 고속 장치들을 책임진다.
  • 사우스브리지에는 I/O 컨트롤러가 포함되어 있으며 주로 저속의 장치들을 구동한다.

인텔은 이러한 칩셋들을 가리켜 MCH(Memory Controller Hub)IOH(I/O Controller Hub) 혹은 ICH(I/O Controller Hub) 등으로 부른다. 칩셋을 브리지허브로 부르는 것은 칩셋의 역할을 중심 연결 장치로 본 것이다.

칩셋의 구조를 도식화하면 다음과 같다.


인텔 4세대 Core 프로세서 등 전통적인 프로세서는 노스브리지의 거의 모든 기능을 CPU에 내장한다.

이러한 경우 사우스브리지와 노스브리지의 일부 기능을 더한 칩을 PCH(Platform Controller Hub)라고 한다. 그 이후 모델부터는 CPU와 동일한 반도체 기판에 칩셋을 함께 넣어 CPU 칩에 내장한다.

인텔 4세대 코어

프로세서(CPU, Processor)와 PCH(Platform Controller Hub로 구성)
다음은 Intel 공식 Docs에서 가져온 프로세서 구성 그림이다.

그 이후

예시) 인텔 7세대 프로세서 구성


4.2 칩셋 호환

칩셋도 운영체제와 호환을 위해 드라이버가 필요하다. 메인보드를 구입하면 대개 칩셋과 함께 칩셋 드라이버를 함께 제공해준다.

메인보드를 설계할 때 꼭 해당 CPU 제조사의 칩셋만 써야되는 것은 아니다. CPU와 칩셋 제조사가 서로 달라도 된다. 주어진 칩셋으로 해당 CPU를 사용할 수 있도록 메인보드를 설계하면 된다. But, 제조사가 다른 칩셋끼리는 보통 1:1로 호환이 되지 않는다.

드라이버란

드라이버는 하드웨어나 주변장치를 구동시킬 때 운영체제가 요구하는 정보가 들어있는 소프트웨어 파일을 의미한다.



📱 5. 메인보드

5.1 메인보드의 정의

메인보드(main board)는 컴퓨터시스템의 주기판을 나타낸다. 시스템보드 혹은 마더보드라고도 한다.

메인보드는 공통의 버스 배선과 인터페이스 회로를 모아 놓고 슬롯 형태의 작은 보드에 꽂아 사용하는 기판 구조에서 어미가 되는 기판이다.


5.2 메인보드의 중요성

혹시 서비스센터에 갔는데 메인보드가 나가서 고칠 수 없다는 답변을 들어본 적이 있는가? 메인보드는 그만큼 컴퓨터 시스템에서 중심이 되는 요소로 가장 중요한 요소라고 볼 수 있다.

조립 컴퓨터를 구성할 때도 가장 먼저 메인보드를 설정해야한다. 아래는 조립 PC를 맞출 수 있는 견적 사이트 포유컴이다.
포유컴

메인 보드의 규격에 따라 컴퓨터의 크기, 사용 가능한 CPU, 사용 가능한 메모리가 나뉜다.


5.3 메인보드 규격과 폼팩터

메인보드 제작 규격을 폼팩터(form factor)라고 한다. 이러한 규격은 컴퓨터의 물리적 크기(본체 크기)와 직접적으로 연관된다.

인텔이 제안한 메인보드 제작 규격은 아래처럼 섀시와 전원장치를 고려하여 설계한다.

  • 대부분의 I/O 커넥터가 주기판에 장착된다.
  • 커넥터의 배선 수를 가능한 줄인다.
  • 메인보드에서 전원장치를 제어할 수 있다.
  • 본체 내부의 공기 흐름을 개선해 열을 배출한다.

대표적인 규격으로는 ATX, M-ATX, M-iTX 등이 있다.


5.4 메인보드의 구성

메인보드에는 시스템 버스I/O 버스가 배선되어 있고 칩셋ROM이 장착되어있다. 또한 CPU를 꽂을 수 있는 CPU 소켓(socket), 메모리 소켓, I/O 확장슬롯(slot), 각종 I/O 커넥터 및 외부 포트 등이 달려있다.

아래 그림은 전통적인 인텔 규격의 메인보드 구성 예이다.
전통적인 인텔 규격의 메인보드 구성 예

구분세부 구성 요소
버스시스템 버스, I/O 버스
CPU부CPU 소켓, 칩셋
메모리부ROM, RAM, CMOS SRAM, 배터리(battery)
I/O 장치 접속부- I/O 확장 슬롯: 각종 확장카드 연결
- I/O 커넥터: 각종 HDD, ODD, FDD, 전원장치 등 연결
- I/O 포트: 각종 USB, 선더볼트 장치 등 연결

메인보드에서 성능이 떨어지는 구 버전의 I/O 슬롯과 포트는 계속해 사라지고 있다. 기본 확장카드 중에서 웬만한 성능을 지닌 랜(LAN)카드나 비디오카드, 사운드카드 등은 CPU나 메인보드의 칩셋에 내장되는 추세이다.



6. 소프트웨어의 구분

소프트웨어는 역할에 따라 시스템 소프트웨어응용 프로그램으로 나눌 수 있다. 시스템 소프트웨어는 하드웨어를 효츌적으로 다루기 위한 것이며, 응용 프로그램은 사용자 서비스를 위한 것이다.


6.1 응용 프로그램

문서 편집이나 자료관리 등 사용자의 목적에 맞게 특정한 작업을 수행하는 프로그램을 응용프로그램(application program) 혹은 영어식으로 줄여 애플리케이션이라고 한다.

이들은 운영체제 위에 설치되며, 운영체제에 따라 응용프로그램의 버전이 달라진다. 쉽게 말해, 아이폰에는 아이폰 앱이 설치되고, 안드로이드에는 안드로이드 앱이 설치되는 원리과 완전히 일치한다.


6.2 시스템 소프트웨어

하드웨어 구동과 관련되어 컴퓨터 시스템을 효율적으로 다루기 위한 프로그램들을 시스템 소프트웨어라고 한다. 대표적인 예로 운영체제가 있다.

이 밖에도 시스템 소프트웨어의 예시는 아래와 같다.

프로그램 종류기능
로더(loader)프로그램을 메모리에 넣어 실행을 준비
진단(diagnostic)하드웨어나 응용프로그램의 상태를 진단
유틸리티(Utility)디버거, I/O 프로그램 등
언어 처리기(launguage processor)인터프리터, 컴파일러 등
라이브러리(library)표준 서브루틴
운영체제(OS, Operating System)하드웨어와 소프트웨어를 관리 운영

6.3 운영체제

운영체제(OS, Operating System)이란 컴퓨터를 운영하는 프로그램을 가상으로 표현한 말이다. 운영체제의 역할은 다음과 같다.

1) 시스템 구성 요소들의 중재자

사용자, 하드웨어, 소프트웨어 사이의 중재자로서 인터페이스를 제공하는 역할을 한다.


2) 하드웨어 장악

운영체제가 모르는 하드웨어가 존재해서는 통제할 수 없기 때문에 곤란하다. 이 때문에 하드웨어와 연결하려면 장치 드라이버가 필요하다.


3) 다른 프로그램들을 관리

운영체제의 핵심인 커널(kernel)을 통해 다른 프로그램을 관리한다. 커널의 특징은 아래와 같다.

  • 항상 주 기억장치에 상주
  • 하드웨어와 소프트웨어 요소들 사이의 통신과 시스템 자원을 관리한다.
  • 운영체제의 대부분의 작업들 수행: 주소 공간, 메모리 관리, 인터럽트 처리, CPU 스케쥴링, 디스크 자료 입출력 등

커널 서비스는 운영체제의 다른 부분이나 응용 프로그램에서 시스템 호출을 통해 요청된다.
시스템 호출(system call)이란 커널에 운영체제의 서비스를 요청하는 절차이다.


6.4 컴퓨터 언어

컴퓨터 언어란 컴퓨터와 대화를 나눌 수 있는 일반적인 수단을 모두 포함한다. 컴퓨터 언어는 프로그래밍 언어보다 규모가 더 큰 상위 개념이다.

컴퓨터 언어 중 명령어나 주소지정 방식 등의 체계를 잘 갖추고 호환성이 있도록 범용으로 설계된 언어를 프로그래밍 언어라고 한다. C언어는 컴퓨터 언어와 동시에 프로그래밍 언어이다.

웸 문서를 만들 때 사용하는 HTML도 컴퓨터 언어라고 볼 수 있지만, 웹 브라우저를 기반으로 하는 언어들은 범용으로 사용하기에 부족하여 일반적인 개념의 프로그래밍 언어로까지 분류되지는 않는다.


1) 프로그래밍 언어

프로그래밍 언어는 일반적으로 다음과 같이 분류할 수 있다.

  • 고급언어: 사람이 이해하기 쉬운 언어 형태를 지닌 고수준 프로그래밍 언어이다.
    BASIC , FORTRAN, COBOL, PASCAL, C, C++, Java 등이 있다.
  • 어셈블리언어: 기계어와 1:1 관계에 있는 저수준 프로그래밍 언어이다. cPU종류에 따라 기계어도 다르기 때문에 어셈블리언어도 달라진다.
  • 기계어: CPU에서 바로 실행 가능한 1과 0으로 구성된 2진 코드 상태를 말한다.

프로그래밍 언어로 작성된 문서를 프로그램 코드라고 한다. 프로그램 코드에는 고급언어나 어셈블리언어로 작성된 코드를 소스 코드, 기계어로 작성된 기계 코드라 부른다.


2) 번역 프로그램

고급언어로 작성된 프로그램을 실행하기 위해서는 기계 언어로 변환하는 과정이 필요하다.

번역 프로그램(translator)는 사람이 작성한 소스 코드를 기계인 CPU가 실행할 수 있는 오브젝트 코드(object code)로 변역해주는 프로그램이다. 번역 프로그램은 컴퓨터 기종과 운영체제에 따라 달라지며 다음과 같이 분류한다.

  • 인터프리터: 소스 코드를 한 줄씩 읽어 번역하고 실행하는 방식이다.
    ㄴ Python, JavaScript

  • 컴파일러: 소스 코드를 한 번에 모두 읽어 번역해 놓고 실행하는 방식이다.
    ㄴ C언어 등 대부분의 프로그래밍 언어가 이에 속한다.

  • 어셈블러: 어셈블리어로 작성된 소스 코드를 기계어로 번역한다.


컴파일러 vs 인터프리터

컴파일러와 인터프리터 방식 비교

컴파일러 방식은 소스 코드를 미리 번역해 실행파일을 만들어둔다. 메모리 안에 저장해 놓고 실행하므로 메모리 공간을 많이 차지하나, 그 대신 이미 번역해 놓은 것이므로 실행 속도가 빠르다.

인터프리터 방식은 소스 코드를 한 줄씩 그때 그때 번역해 실행한다. 이방식은 에러 찾기가 쉬워 편리하고 메모리 공간을 적게 차지하지만, 실행 속도가 느리다.


3) 프로그램 실행



7. 다중작업

컴퓨터시스템에서 수행되는 하나의 작업을 태스크(Task)라고 한다. 태스크는 각 프로그램에서 해야할 작업이다.

다중 작업은 동시에 처리해야 할 여러 개의 작업이다. 동시에 여러 개의 프로그램이 실행되는 다중 작업을 멀티태스크(multi-task) 혹은 멀티태스킹(multi-tasking)이라고한다.


CPU 스케쥴링

CPU는 하나이고 동시에 진행할 작업이 여러 개라면 시간을 쪼개 교대로 지원할 수 밖에 없다. CPU 스케쥴링은 다중 작업에서 어떤 작업에 CPU의 처리 시간을 어느 정도 할당할지를 결정해주는 것이다.

스케쥴링의 대표적인 방법은 라운드 로빈 방식우선순위 할당 방식이 있다.

  • 라운드로빈 방식은 순서를 순환하면서 기회를 균딩하게 분할하는 방식이다.
  • 우선순위 할당 방식은 다중작업 목록에 올라와 있는 각 응용프로그램들에 대해 작업 우선순위에 따라 시간 할당비율을 조정한다.


8. 컴퓨터 시동 과정

8.1 롬 바이오스

롬 바이오스(ROM BIOS) (ROM Basic Input Output System)은 컴퓨터 메인보드에 장착된 ROM에 내장된 프로그램이다. 일종의 시스템 소프트웨어로 대표적인 펌웨어다. 바이오스라고 하면 대개 메인보드 상에 장착된 롬 바이오스를 가리킨다.

역할

  • 롬 바이오스는 컴퓨터 부팅과 관계
  • 운영체제를 도와 하드웨어를 제어

하드웨어를 정확히 제어하기 위해 주로 어셈블리 언어로 작성한다. 롬 바이오스 칩은 업그레이드가 용이하도록 주로 플래시 메모리 등을 사용한다.

운영체제는 바이오스의 정보를 보고 컴퓨터 하드웨어의 상태를 파악하고 제어한다. 메모리나 주변장치가 바뀌면 바이오스의 시스템 설정 프로그램에서 관련 내용이 자동으로 변경되거나 사용자가 수동으로 설정을 변경할 수 있다.


8.2 시스템 설정

컴퓨터 메인보드의 바이오스 값을 설정하는 것을 시스템 설정 혹은 CMOS 설정(CMOS Setup) 혹은 바이오스 설정이라고 한다.

CMOS는 메인보드 상에 장착된 배터리 백업을 받는 CMOS SRAM을 가리킨다. 이 작은 부품에 기본적인 시스템 구성 환경과 선택 사항이 저장된다. 바이오스 설정 값을 저장하므로 비휘봘성 바이오스 메모리라고도 한다.

시스템 설정에서는 롬 바이오스에 제공하는 실시간 시계 값, 하드디스크 혹은 플리피디스크 타입, 모니터나 키보드 타입, 메모리 크기, 부팅 드라이브 우선순위, 마운터 부트 섹터 쓰기 방지와 같은 바이러스 방지 옵션, 전원 관리 옵션 및 부팅 패스워드 등을 설정하고 저장할 수 있다.


8.3 부트스트랩 로더

1) 부트스트랩 로더

컴퓨터에서 로드(load)란 메모리에 프로그램을 적재하는 것을 의미한다. 로드를 담당하는 프로그램을 로더(loader)라고 한다.

부트스트랩(bootstrap)은 목이 긴 가죽 신발(boot)의 뒷부분에 달린 고리 모양의 끈(strap)을 가리킨다. 이 끈은 손가락을 걸어 지렛대의 원리로 신을 쉽게 신을 수 있게 해준다는 것에서 유래했다.

부트스트랩(bootstrap)은 은유적으로 '스스로 자립하는' 의미로 사용된다.


2) 부팅

부트스트래핑을 줄여 부팅(booting) 이나 부팅 업이라고 한다.

컴퓨터에서 부팅은 디스크에 저장된 운영체제를 메인메모리에 새로 읽어 들여 컴퓨터 사용을 준비하는 과정이다. 롬 바이오스 프로그램이 실시하는 시동 과정의 일부이다.

부팅을 담당하는 부트스트랩 로더가 디스크로부터 운영체제를 읽어 들여 주기억장치에 로드한다. 이 프로그램은 디스크 볼륨의 첫번째 섹터인 볼륨 부트 섹터에 들어있다.


3) 콜드 부트와 웜 부트

콜드 부트는 전원이 꺼져 메인메모리의 내용이 모두 삭제된 상태에서 시작하는 부팅이다. 하드웨어적으로 컴퓨터를 완전히 초기화하는 장점이 있으나, 전원을 완전히 차단했다가 키므로 부팅 시간이 오래 걸린다.

웜 부트는 컴퓨터 전원이 켜져 있어 주기억장치에 내용이 아직 남아있는 상태에서 시작하는 부팅이다. CPU가 전원장치를 비롯한 각 소자들을 소프트웨어 명령으로 리셋시킨다. 컴퓨터 종료 옵션인 시스템 재시작이 이에 해당한다.


8.4 BIOS의 시동과정

시동과정은 컴퓨터 시스템의 운영에 필요한 각종 상태와 정보를 수집하고 운영체제가 하드웨어를 장악해 사용자의 작업을 준비하는 과정이다.

그 절차는 다음과 같다.


1) POST

메인보드에 연결된 각종 하드웨어 장치를 점검한다.

롬 바이오스의 일부인 POST(Power On Self Test)는 컴퓨터를 켜거나 리셋될 때 수행되는 내부 테스트이다. 메인보드에 대해 자체적인 하드웨어 테스트를 실시한다.


2) BIOS 복사

각 장치에서 얻은 바이오스 정보를 읽어 메인메모리에 복사해 섀도우 램을 만든다.

섀도우 램(shadow RAM)

반도체 메모리는 다음 순서로 동작 속도가 빠르다.

캐시 메모리(SRAM) > 메인 메모리(DRAM) > 바이오스 칩으로 사용하는 롬(ROM)
메인보드의 롬 바이오스나 기타 바이오스 등은 ROM에 들어 있기 때문에 실행 속도가 느려, 이를 개선하고자 ROM의 내용을 주로 액세스 속도가 빠른 메인메모리에 복사해서 사용한다.

이때 ROM을 복사해서 사용하게 되는 RAM 메모리 영역을 섀도우 램이라고 한다.


3) 부팅

디스크 볼륨의 첫번째 섹터인 볼륨 부트 섹터에서 찾은 부트스트랩 로더 프로그램이 운영체제를 메모리로 읽어 들여 사용자 작업을 준비한다.


8.5 UEFI 펌웨어

UEFI(Unified Extensible Firmware Interface)는 운영체제와 플랫폼 펌웨어 사이의 소프트웨어 인터페이스를 정의한 설계 사양(specification)이다.

롬 바이오스를 대체하는 업계 표준의 펌웨어 인터페이스 설계 사양이다. 기존의 롬 바이오스의 기능을 수행하되, 능가하는 기능을 수행하는 장점이 있다.



🐬 레퍼런스

  • "컴퓨터 구조론", 2013, 생능 출판, 윤남일ㆍ이강우 지음

🐬 마치며

이번 포스팅을 하면서 상당히 어려운 점들이 많았다.

컴퓨터 기본 구조에 대해 공부하면서 상당히 어마어마한 구조로 이루어져 동작함을 인지하게 되었고, 포스팅 또한 최대한 간추리고자 했으나 길어졌다. 소제목과 대제목을 여러번 바꾸었다.🤣

레퍼런스가 학부시절 사용했던 상당히 오래된 서적이기 때문에 웹 서핑을 하면서 최신 동향에 대해 수록하고자 노력했다.

이번 포스트는 컴퓨터 구조에 대해 물흐르듯 이해하기에 적합한 것 같다. 😁👌

profile
Java, Spring 기반 풀스택 개발자의 개발 블로그입니다.

0개의 댓글