I. 컴퓨터의 부팅 과정
0. What's Booting?
컴퓨터를 키면 부팅이 되기 때문에, 컴퓨터를 켜는 것과 부팅을 같은 의미로 많이 쓰곤 한다.
Booting은(Bootstrapping의 준말) 메모리에 운영체제(OS)를 끌어다놓는 모든 과정으로
시스템을 사용 가능하게 만드는 과정이다.
운영체제 Operating System
: 컴퓨터 시스템의 HW, SW를 운영, 관리하며 사용자와 컴퓨터 사이의 중개자 역할을 한다.
대표적으로 Windows, Linux 등이 있다.
1. 컴퓨터가 부팅되는 과정
① Power Supply가 전압을 받아 컴퓨터를 쓸 수 있게 가공한다.
② 전기가 메인보드로 가고, 이 전기는 메인보드에 부착되어있는 모든 부품들에게 공급된다.
③ CPU가 BIOS를 실행한다.
④ BIOS에서 POST를 진행하면서, 하드웨어가 정상적으로 작동하는지 확인한다.
⑤ 테스트가 정상적으로 끝난다면 부트로더로 OS를 실행한다.
우와...
모르는 단어 투성이다. 용어를 정리하고 다시 읽어보면 머리에 더 잘 들어올 것 같다 :)
2. 용어
전원 공급 장치 Power Supply
말 그대로 power(전원)을 supply(공급)해주는 역할의 컴퓨터 부품이다.
파워 서플라이는 220V를 받는데, 이 220V를 바로 메인보드에 보내면 메인보드는 망가진다.
그래서 이 220V를 메인보드에 적합한 직류 전압으로 가공하여 보내게 된다.
직류는 시간이 변화해도 한 방향으로 흐르는 전류를 말하고, 교류는 매 시간마다 계속 변하는 전류를 말한다.
메인보드 Main Board
메인보드는 컴퓨터에 들어가는 모든 부품들을 하나로 연결해준다.
이 메인보드에는 CPU, 보조기억장치, RAM, 그래픽카드가 부착된다.
여러가지 좋은 부품이 있더라도 메인보드가 망가지면 말짱 도루묵이다.
중앙처리장치 CPU
중앙처리장치 cpu는 명령어를 해석하고 연산, 제어 등을 하는 역할로 컴퓨터의 핵심장치이다.
① 입력 장치로부터 데이터를 받고
② 제어 장치를 거쳐서 기억 장치에 데이터를 보관한다.
③ 연산을 하고 싶거나 출력을 하고 싶을 때는 제어 장치를 거쳐서 각각의 장치에 도달하여 작업을 수행한다.
(ex) 연산 후 출력을 하고 싶을 때 :
-> 기억 장치에 있는 데이터 꺼내기
->제어 장치 거쳐서 연산 장치로
->제어 장치 거쳐서 기억 장치에 저장.
->제어 장치 거쳐서 출력 장치로
- 제어장치와 연산장치 -
제어 장치는 (프로그램의 명령을 받아서) 장치들을 동작하게끔 제어하는 장치이다.
연산 장치는 입력된 데이터를 가지고 산술 연산 또는 논리 연산을 하는 장치이다.
BIOS Basic Input Output System
메인보드에 내장(ROM)되어 있는 바이오스는 전원이 공급되면 최초로 시작되는 프로그램이다.
기본적인 기능으로 컴퓨터의 상태를 보여준다.
BIOS는 POST를 하면서 하드웨어가 정상적으로 작동하는지 확인한다.
POST는 Power On Self Test의 약자로 전원을 켠 때 BIOS가 주변 장치를 검사하는 과정을 일컫는다.
검사 결과는 경고음으로 보고되는데 이는 회사마다 다르다.
II. Memory
https://news.skhynix.co.kr/1955 : 메모리 디바이스 구조와 전압 인가 방식 글
Flash Memory
플래시 메모리도 비휘발성 메모리로 SSD 등에 들어가는 메모리이다.
EPROM과 EEPROM의 장점만 뽑아서 만든 것이 특징이다.
Flash memory는 크기가 작고 가벼우며 충격 또는 여러 외부 환경에서도 강하다는 것이 장점이다.
소비전력이 작아서 휴대폰이나 USB, 카메라 등에 사용된다.
+ 플래시 메모리 구조 / 데이터 읽고 삭제하기
+ nand & nor
ROM ( Read Only Memory )
컴퓨터의 전원이 꺼져도 데이터와 프로그램이 반영구적으로 기억된다. RAM과 다르게 비휘발성 메모리이다.
이름에서부터 알 수 있듯 기억한 내용을 오직 READ 할 수만 있다. ( == 쓰기는 불가능하다. )
ROM은 비휘발성이라서 OS, BIOS, 펌웨어 등을 저장한다.
+ ROM의 종류
RAM ( Random Access Memory )
램은 임의의 영역에 접근해서 프로그램이나 데이터를 저장하는 곳으로 휘발성 메모리이다.
Read와 Write가 가능해서 RWM( Read Write Memory ) 라고도 부른다.
시간 순서대로 데이터를 입력 출력하는 메모리인 SAM (Sequential Access Memory)와는 다르게
임의의 영역에 데이터를 저장하기 때문에 데이터는 비교적 빠르게 관리할 수 있다.
램은 구조, 제조 기술에 따라서 아래 두 가지 종류로 나뉜다.
- SRAM ( Static ) : 전원이 차단되고나서 즉시 데이터가 지워진다. (전원이 차단되지 않는 한 내용은 그대로 유지될 수 있다.)
플립플롭을 이용해서 기록된다. DRAM과 비교했을 때, 구조가 복잡하고 비싸지만, 접근 속도가 빠르다.
그래서 빠른 속도를 요하는 캐시 메모리로 사용되기도 한다.
- DRAM (Dynamic) : 전원이 차단되고서 시간 경과 후 데이터가 지워진다.축전기를 이용하여 기록하기 때문에
주기적으로 충전을 해줘야 한다. SRAM에 비해 구조가 간단하고 저렴하지만 속도는 느리다.
주기억 장치로 주로 사용된다.
DRAM의 동작 원리
과학인가...? 살려줘.. 수업 때 한게 맞나..........?
DRAM은 1개의 트랜지스터와 커패시터로 구성되어있다.



Write
bit line에 1을 인가하면 커패시터는 charge가 되어 1을 write하게 되고,
0을 인가하면 discharge가 되어 0을 write하게 된다.
word line : high / bit line : high => 1을 write한다.
word line : high / bit line : low => 0을 write한다.
Read
WL에 high 신호를 인가하는 것까지는 write와 같다.그 다음, bit line에는 VDD/2를 인가한다
c에 VDD/2가 있다면 전하들이 bit line으로 옮겨가면서 그 값이 증가하게 된다.
이렇게 bit line이 vdd/2보다 증가하게 된다면 1을 read한다.
반대로, c에 0이 저장되어있는 상태라면 VDD/2 전하가 c로 옮겨가면서 그 값이 감소하게 된다.
bit line이 vdd/2보다 감소하게 되면 0을 read한다.
+ SRAM 동작원리
'Sunrin > Layer7' 카테고리의 다른 글
[2021 Layer7 시연회] - 도연이의 은밀한 비밀 일기장 📝 (0) | 2021.02.26 |
---|---|
[HackCTF] Basic BOF #1 #2 (0) | 2021.01.30 |
HackCTF Sysrop (0) | 2020.11.27 |
HackCTF : Cryptography, Smooth CipherText, Classic Cipher (0) | 2020.11.06 |
웹브라우저와 서버의 통신 (0) | 2020.09.23 |