본문 바로가기

카테고리 없음

혼자 공부하는 컴퓨터구조 + 운영체제 6~8Chapter 요약정리

 
혼자 공부하는 컴퓨터 구조+운영체제
이 책은 독학으로 컴퓨터 구조와 운영체제를 배우는 입문자가 ‘꼭 필요한 내용을 제대로 학습’할 수 있도록 구성했다. 뭘 모르는지조차 모르는 입문자의 막연한 마음에 십분 공감하여 과외 선생님이 알려주듯 친절하게, 핵심 내용만 콕콕 집어 준다. 〈컴푸터 구조〉편에서는 컴퓨터를 이루고 있는 부품들과 각 부품의 역할을 알아본다. 또한 컴퓨터 내부의 구조와 작동법을 이해하고, 컴퓨터가 어떻게 명령어를 처리하는지 학습한다. 〈운영체제〉편에서는 운영체제의 필요성을 배운 뒤 앞서 배운 컴퓨터의 부품들을 운영체제가 어떻게 사용하는지 전체 과정을 살펴본다. ‘전공서가 너무 어려워서 쉽게 배우고 싶을 때’, ‘개발자가 되고 싶은데 뭐부터 봐야 하는지 모를 때’ ‘기술 면접을 제대로 준비해야 할 때’ 다른 입문서에서는 알려주지 않았던 진짜 컴퓨터 공학 지식을 〈혼자 공부하는 컴퓨터 구조+운영체제〉에서 만나 보자! 42명의 베타리더와 함께 입문자에게 꼭 맞는 난이도, 분량, 학습 요소 등을 적극 반영했다. 어려운 용어와 개념은 한 번 더 풀어 쓰고, 적절한 예시와 이해하기 쉬운 그림으로 누구나 이해할 수 있도록 구성했다. 또한 일상 소재를 활용한 비유를 활용하여 어렵게 느껴질 수 있는 컴퓨터 구조와 운영체제를 머릿속에 직접 그리듯이 설명해 준다. ‘혼자 공부해 본’ 여러 입문자의 초심과 눈높이가 책 곳곳에 반영된 것이 이 책의 가장 큰 장점이다.
저자
강민철
출판
한빛미디어
출판일
2022.08.16

 

혼자 공부하는 컴퓨터주고 + 운영체제 책 표지

 

안녕하세요 !
혼공단 11기로 선정 되어

공부하게 된 박지영입니다 🙂

매주 1회 혼자 공부하는 컴퓨터구조 + 운영체제 요약을 올리고 있습니다.

파이썬(코딩자율학습단), C언어(빡공단) 등 많은 프로그래밍 요약을 올리고 있을거니
다른 글도 많은 관심 부탁드립니다 🥰

 

Chapter 06 메모리와 캐시 메모리

06-1 RAM의 특징과 종류

 

RAM에는 실행할 프로그램의 명령어와 데이터가 저장됩니다.

 

전원을 끄면 저장된 내용사라지는 저장장치를 휘발성 저장 장치

전원이 꺼져도 저장된 내용유지되는 저장장치를 비휘발성 저장 장치

 

비휘발성 저장 장치의 예시

- SSD, USB메모리

 

RAM의 용량과 성능이 좋으면 좋을수록

많은 프로그램을 동시에 실행하는 데에 유리합니다.

 

RAM의 종류

DRAM : 저장된 데이터를 동적으로 변하는(사라지는) RAM

즉. 시간이 지나면 저장된 데이터가 점차 사라지는 RAM. 사라지기 전에 다시 재활성화(다시 저장) 해야한다.

 

SRAM : 저장된 데이터가 변하지 않는 RAM (정적)

시간이 지나도 저장된 데이터가 사라지지 않고, 속도도 더 빠르지만, 소비전력이 크며 가격이 비싸다.

 

SDRAM(SDR SDRAM) : 클럭 신호와 동기화된, 발전된 형태의 DRAM (클럭과 동기화된)

 

DDRSDRAM  : 대역폭을 넓혀 속도를 빠르게 만든 SDRAM.

(가장 흔히 사용되는 RAM)

(대역폭 : 데이터를 주고받는 길의 너비)

 

 

06-2 메모리의 주소 공간

 

주소의 종류

물리주소 : 메모리 하드웨어가 사용하는 주소 (정보가 실제로 저장된 하드웨어상의 주소)

논리주소 : CPU와 실행 중인 프로그램이 사용하는 주소 (프로그램 각각에게 부여된 0번지부터 시작되는 주소)

 

논리주소 -> 물로주소 변환

CPU와 주소 버스 사이에 위치한 메모리 관리 장치(MML)라는 하드웨어에 의해 수행

(CPU가 논리주소를 줌 -> MMU -> 물리주소가 되어 메모리로 간다)

 

MMU안에는 베이스 레지스터가 있다.

베이스 레지스터 : 프로그램의 가장 작은 물리 주소, 즉 프로그램의 첫 물리 주소를 저장하는 셈.

논리주소 : 프로그램의 시작점으로부터 떨어진 거리인 셈.

 

메모리 보호 기법

 

한계 레지스터 : 논리 주소의 최대 크기를 저장

 

접근하고자 하는 논리 주소가 한게 레지스터보다 작은지를

검사함으로써 메모리 내의 프로그램을 보호할 수 있다.

 

 

06-3 캐시 메모리

 

저장 계층 구조

저장 장치 계층 구조

 

캐시 메모리 : CPU와 메모리 사이에 위치하고, 레지스터보다 용량이 크고 메모리보다 빠른 SRAM기반의 저장 장치

(CPU의 연산 속도와 메모리 접근 속도의 차이를 줄이기 위한)

 

CPU와 가까운 순서대로 계층을 구성

가까운 캐시 메모리를 L1캐시, 그다음을 L2캐시, L3캐시라고 합니다.

 

CPU와 가장 가까운 L1캐시는 조금이라도 접근 속도를 빠르게 하기 위한 분리형 캐시도 있다.

 

 

참조 지역성 원리

 

예측한 데이터가 실제로 들어맞아 캐시 메모리 내 데이터가 CPU에서 활용될 경우캐시 히트라고 합니다.

(예측하고 주는)

 

하지만 예측을 잘못한 경우를 캐시 미스라고 합니다.

 

캐시 적중률 확인 계산법

(  캐시 히트 횟수 / (캐시 히트 횟수 + 캐시 미스 횟수)  )

 

캐시 적중률이 높으면 CPU의 메모리 접근 횟수를 줄일 수 있다.

 

캐시 메모리는 한 가지 원칙에 따라 메모리로부터 가져올 데이터를 정합니다.이것 모두가 바로 참조 지역성의 원리입니다.

 

접근한 메모리 공간 근처를 접근하려는 경항 : 공간 지역성

 

 

Chapter 07 보조기억장치

07-1 다양한 보조기억장치

 

하드 디스크 : 자기적인 방식으로 데이터를 저장하는 보조기억장치.

이 때문에 하드 디스크를 자기 디스크라고도 한다.

 

하드 디스크

- 동그란 원판 : 플래터

- 플래터를 회전시키는 구성 요소 : 스핀들

(스핀들이 플래터를 돌리는 속도는 분당 회전수를 나타내는 RPM)

- 플래터를 대상으로 데이터를 읽고 쓴느 구성요소 : 헤드

- 헤드는 원하는 위치로 헤드를 이동시키는 : 디스크 암

209P

 

- 하나 이상의 섹터를 묶어 : 블록

- 여러 겹의 플래터 상에서 같은 트랙이 위치한 곳을 모아 연결한 논리적 단위 : 실린더

 

플래터는 트랙과 섹터로 나뉘고, 같은 트랙이 모여 실린더를 이룹니다.

211P

 

하드 디스크가 저장된 데이터에 접근하는 시간은 3가지로 나뉜다.

1. 탐색시간 : 접근하려는 데이터가 저장된 트랙까지 헤드를 이동시키는 시간을 의미

2. 회전지연 : 헤드가 있는 곳으로 플래터를 회전시키는 시간을 의미

3. 전송시간 : 하드 디스크와 컴퓨터 간에 데이터를 전송하는 시간을 의미

 

플래터의 한 면당 헤드가 하나씩 달려 있는 하드 디스크 : 단일 헤드 디스크

헤드가 트랙별로 여러 개 달려 있는 하드 디스크 : 다중 헤드 디스크

 

헤드를 움직일 필요가 없는 다중 헤드 디스크를 고정 헤드 디스크라고도 부르고,

헤드를 데이터가 있는 곳까지 움직여야하는 단일 헤드 디스크를 이동 헤드 디스크 라고 부릅니다.

 

플래시 메모리 ex.USB, SD카드

 

플래시 메모리 종류

- NAND 플래시 메모리 : 대용량 저장 장치로 많이 사용되는 플래시 메모리

- NOR 플래시 메모리

 

플래시 메모리에는 셀이라는 단위가 있다.

셀이 모여 MB, GB, TB용량을 갖는 저장 장치가 되는 것입니다.

 

한 셀에 1비트를 저장할 수 있는 플래시 메모리 : SLC 타입

SLC : 한집에 한명. 비트의 빠른 입출력이 가능하고 수명이 길지만 가격이 높다.

 

한 셀에 2비트를 저장할 수 있는 플래시 메모리 : MLC 타입

MLC : 한집에 두명. 한셀에 원래는 두비트만 저장하지만

한집에 2명이기 때문에 2배인 네 개의 정보(4비트)를 저장가능합니다. 그리고 가격이 저렴한 편입니다.

 

한 셀에 3비트를 저장할 수 있는 플래시 메모리 : TLC 타입

TLC : 한집에 세명. 한셀로 여덟 개의 정보를 표현, 수명과 속도가 떨어지지만 가격이 저렴하다.

 

플래시 메모리도 하드 디스크도 수명이 있습니다.

 

셀들이 모여 만들어진 단위 : 페이지

페이지가 모여 만들어진 단위 : 블록

블록이 모여 : 플레인

플레인이 모여 : 다이

 

Free 상태 : 어떠한 데이터도 저장하고 있지 않아 새로운 데이터를 저장할 수 있는 상태

Valid 상태 : 이미 유효한 데이터를 저장하고 있는 상태

Invalid 상태 : 유효하지 않은 데이터를 저장하고 있는 상태

 

플래시 메모리는 필요없는(유효하지 않은)데이터를 정리하기 위해 가비지 컬렉션 기능을 제공

 

 

07-2 RAID의 정의와 종류

 

RAID : 주로 하드 디스크와 SSD를 사용하는 기술로,

데이터의 안전성 or 높은 성능을 위해 여러 개의 물리적 보조기억장치를 마치 하나의 논리적 보조기억장치처럼 사용하는 기술

 

RAID 구성 방법을 RAID레벨로 표현하는데 대표적으로 RAID0, RAID1, RAID2, RAID3, RAID4, RAID5, RAID6... RAID50이 있습니다.

 

RAID0 : 여러 개의 보조기억장치에 데이터를 단순히 나누어 저장하는 구성 방식

- 단점 : 저장된 정보가 안전하지 않다 -> 그래서 RAID1 등장

 

줄무늬처럼 분산되어 저장된 데이터 : 스트라입

분산하여 저장하는 것을 스트라이핑이라고 한다.

데이터가 분산되어 저장되면(스트라이핑되면) 저장된 데이터를 읽고 쓰는 속도가 빨라집니다.

 

RAID1 : 복사본을 만드는 방식.

복사본을 만드는 구성이기에 미러링 이라고도 부른다.

하지만 많은 양의 하드 디스크가 필요하게 되고, 비용이 증가한다는 단점이 있다.

 

RAID4 : RAID1처럼 복사본을 만드는 대신 오류를 검출하고 복구하기 위한 정보를 저장한 장치를 두는 구성 방식

이때, 오류를 검출하고 복구하기 위한 정보 : 패리티 비트

 

원래 패리티 비트는 오류 검출만 가능할 뿐 오류 복구는 불가능합니다.

 

RAID5 : 패러티를 분산하여 저장하는 방식 (RAID4 단점을 보완)

 

RAID6 : RAID5에 오류를 검출하고 복구할 수 있는 수단이 추가. RAID5보다 속도는 느리지만 데이터를 안전하게 보관 가능

 

RAID 레벨을 혼합한 방식 : Nested RAID.

 

 

Chapter 08 입출력장치

08-1 장치 컨트롤러와 장치 드라이버

 

장치 컨트롤러

 

장치 컨트롤러가 까다로운 이유 ?- 입출력장치에는 종류가 너무 많다.

- 입출력 장치의 데이터 전송률은 낮다.

( 전송률 : 데이터를 얼마나 빨리 교환할 수 있는지를 나타내는 자료 )

 

입출력장치는 컴퓨터에 직접 연결되지 않고 장치 컨트롤러라는 하드웨어를 통해 연결.

( 장치 컨트롤러 : 입출력 제어기, 입출력 모듈 등으로 다양하게 불리기도 한다. (저는 장치 컨트롤러라고 부르겠습니다) )

 

장치 컨트롤러 역할

- CPU와 입출력장치 간의 통신 중개, 오류 검출, 데이터 버퍼링

 

데이터 버퍼링 : 전송률이 높은 장치와 낮은 장치 사이에 주고받는

데이터를 버퍼라는 임시 저장 공간에 저장하여 전송률을 비슷하게 맞추는 방법

 

입출력장치는 장치 컨트롤러를 통해 컴퓨터 내부와 정보를 주고 받습니다.

 

버스 <-> 장치 컨트롤러 <-> 입출력장치

 

장치 컨트롤러 안엔 데이터 레지스터, 상태 레지스터, 제어 레지스터가 있습니다.

 

데이터 레지스터 : CPU와 입출력장치 사이에 주고받을 데이터가 담기는 레지스터

상태 레지스터 : 입출력장치가 입출력 작업을 할 준비가 되었는지,

입출력 작업이 완료되었는지, 입출력장치에 오류는 없는지 등의 상태 정보가 저장된다.

제어 레지스터 : 입출력장치가 수행할 내용에 대한 제어 정보와 명령을 저장

 

장치 드라이버 : 장치 컨트롤러의 동작을 감지하고 제어함으로써 장치 컨트롤러가 컴퓨터내부와 정보를 주고받을 수 있게 하는 프로그램

 

 

08-2 다양한 입출력 방법

 

프로그램 입출력 : 기본적으로 프로그램 속 명령어로 입출력장치를 제어하는 방법

이때, 메모리 맵 입출력, 고립형 입출력이 있습니다.

 

메모리 맵 입출력 : 메모리에 접근하기 위한 주소 공간과 입출력장치에 접근하기 위한 주소 공간을 하나의 주소 공간으로 간주하는 방법

ex. 516번지 : ~~~레지스터

 

고립형 입출력 : 메모리를 위한 주소 공간과 입출력장치를 위한 주소 공간을 분리하는 방법

 

메모리 맵 입출력 고립형 입출력
메모리와 입출력장치는 같은 주소 공간 사용 메모리와 입출력장치는 분리된 주소 공간 사용
메모리 주소 공간이 축소됨 메모리 주소 공간이 축소되지 않음
메모리와 입출력장치에 같은 명령어 사용 가능 입출력 전용 명령어 사용

 

인터럽트 기반 입출력 : 인터럽트를 기반으로 하는 입출력

(폴링 : 입출력장치의 상태는 어떤지, 처리할 데이터가 있는지 주기적으로 확인하는 방식)

 

플래그 레지스터 속 인터럽트 비트가 활성화되어 있는 경우, 혹은 인터럽트 비트를 비활성화해도 무시할 수 없는 인터럽트 : NMI

 

우선순위를 반영하여 다중 인터럽트를 처리하는 방법에는 여러 가지가 있지만,

많은 컴퓨터에서는 프로그래머블 인터럽트 컨트롤러라는 하드웨어 사용

 

PIC는 여러 장치 컨트롤러에 연결되어 장치 컨트롤러에서 보낸 하드웨어 인터럽트 요청들의

우선순위를 판별한 뒤 CPU에 지금 처리해야 할 하드웨어 인터럽트는 무엇인지 알려주는 장치입니다.

 

DMA 입출력

 

입출력장치와 메모리가 CPU를 거치지 않고도 상호작용할 수 있는 입출력 방식인 DMA가 등장.

DMA : 이름 그래도 직접 메모리에 접근할 수 있는 입출력 기능.

입출력을 하기 위해서는 시스템 버스에 연결된 DMA 컨트롤러라는 하드웨어가 필요.

 

입출력버스는 입출력 장치를 컴퓨터 내부와 연결짓는 통로라고 볼 수 있다.

 

입출력버스에는 PCI버스, PCI Express버스 등이 있습니다.

여러 입출력장치들을 PCIe 버스와 연결해주는 통로인 PCIe 슬롯입니다.

 

메모리에 직접 접근할 뿐만 아니라 입출력 명령어를 직접 인출하고, 해석하고, 실행까지 하는

일종의 입출력 전용 CPU가 만들어졌는데, 이를 입출력 프로세서 or 입출력 채널이라고 부른다.

 

 

이렇게 혼공단 컴퓨터구조 + 운영체제 1주차 6~8파트 요약 정리를 마쳤습니다.

 

이제 미션을 해볼까요??

 

3주차
(1/15 ~ 1/21)
Chapter 06 ~ 08 p. 185의 확인 문제 3번, ㅊ 풀고 인증하기 Ch.07(07-1) RAID의 정의와 종류를 간단히 정리해 보기

 

기본 미션 인증

p. 185의 확인 문제 3번
p. 205의 확인 문제 1번

 

선택미션의 요약정리는
위에 요약정리에 있어요 !

 

이렇게 3주차도 잘 마쳤는데

 

1주차엔 우수혼공족은 아니지만

참고하세요 !! 로 되어서 내심 기뻤습니다 !!

 

하지만 2주차에 드디어 우수혼공족이 되었습니다 !!

뭔가 인정받은 느낌이라 너무 기분이 좋았고,스벅 기프티콘을 받았습니다 !!

 

다음에도 선정될 수 있도록 !내 요약 정리글이 다른 분께 도움이 될 수 있도록 !나의 자기개발에 도움이 될 수 있도록 !열심히 하겠습니다 !!

 

참고로 코딩 자율 학습단(PYTHON)으로 진행중인데그것도 1주차가 우수 학습단으로 선정되었으니다른글도 많은 관심 부탁드립니다 !!