일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 입출력장치
- 멀티스레드
- 인터럽트
- C++
- DDR SDRAM
- 보조기억장치
- 한빛미디어
- 운영체제
- 지역변수
- 렌더링 파이프라인
- 독학
- 장치컨트롤러
- 131701
- dfs
- 컴퓨터구조
- 프로그래머스
- 프로세스
- 풀이
- 혼자공부하는
- BFS
- 컴퓨터 구조
- 스레드
- static
- 혼자 공부하는
- 138477
- 코딩테스트
- CPU 스케줄링
- Transform
- DirectX
- 그래프
- Today
- Total
목록운영체제 (26)
빼미의 개발일기

이 글은 한빛미디어 '혼자 공부하는 컴퓨터 구조 + 운영체제'를 공부하고 정리한 내용입니다. RAID의 정의 RAID(Redundant Array of Independent Disks) : 하드 디스크와 SSD를 사용하는 기술, 데이터의 안전성 혹은 높은 성능을 위해 여러 개의 물리적 보조기억장치를 하나의 논리적 장치처럼 사용하는 기술. RAID의 종류 - RAID는 RAID 레벨로 표현하며, 대표적인 RAID 0 ~ 6이 있고, 파생된 RAID 10, RAID 50이 있다. - 단 RAID 2, 3은 현재 잘 활용되지 않는다. ● RAID 0 - 데이터를 저장할 때 각 하드 디스크에 그 수만큼 나눠 저장한다. 이런 분산되어 저장된 데이터를 스트라입(Stripe)이라 하고, 분산 저장하는 것을 스트라이핑..

이 글은 한빛미디어 '혼자 공부하는 컴퓨터 구조 + 운영체제'를 공부하고 정리한 내용입니다. 하드 디스크 - HDD(Hard Disk Drive)는 자기적인 방식으로 데이터를 저장하는 보조기억장치로, 자기 디스크(Magnetic Disk)의 일종으로 지칭된다. 플래터(Platter) : 데이터가 저장되는 원판. 자기물질로 덮여 있어, 0과 1의 역할을 수행하는 수많은 N극과 S극을 저장한다. 스핀들(Spindle) : 플래터를 회전시키는 모터. 헤드(Head) : 플래터의 데이터를 읽고 쓰는 구성요소. 액츄에이터 암(Actuator Arm) : 간단히 디스크 암(Disk Arm)이라고도 하고, 헤드를 원하는 위치로 이동시키는 역할. ※ 플래터에 데이터가 저장되는 방식 - 플래터는 트랙(Track)과 섹터..

이 글은 한빛미디어 '혼자 공부하는 컴퓨터 구조 + 운영체제'를 공부하고 정리한 내용입니다. ● 물리주소 : 정보가 실제로 저장된 하드웨어상의 주소. ● 논리주소 : CPU와 실행 중인 프로그램이 사용하는 주소 - CPU와 메모리간의 상호작용을 하려면 논리주소와 물리 주소간의 변환이 있어야 하는데, 이는 CPU와 주소 버스 사이에 위치한 메모리 관리 장치(MMU : Memory Management Unit)에 의해 수행한다. - MMU는 CPU가 발생시킨 논리 주소에 베이스 레지스터 값을 더하여 논리 주소를 물리 주소로 변환한다. 베이스 레지스터에 15000이 저장되어 있고 CPU가 발생시킨 논리 주소가 100번지라면 이 논리 주소는 물리주소 15100번지로 변환된다. 베이스레지스터가 45000이었다면 ..

이 글은 한빛미디어 '혼자 공부하는 컴퓨터 구조 + 운영체제'를 공부하고 정리한 내용입니다. ● RAM : 실행할 프로그램의 명령어와 데이터가 저장되는 곳. 또한 전원을 끄면 저장된 내용이 사라지는 휘발성 저장 장치Volatile Memory)이다. ※ 전원이 꺼져도 저장된 내용이 유지되는 저장 장치를 비휘발성 저장장치(non-Volatile Memory)라 하고, 하드 디스크나 SSD. CD-Rom, USB 메모리와 같은 보조기억장치가 대표적이다. - CPU는 보조기억장치에 직접 접근하지 못하기에 보조기억장치는 '보관할 대상' 주기억장치는 '실행할 대상'을 저장한다. 실행하고픈 프로그램이 보조기억장치에 있다면 '보조기억장치 → RAM → 실행' 순으로 진행한다. ● RAM의 용량과 성능 - 보조기억장치..

이 글은 한빛미디어 '혼자 공부하는 컴퓨터 구조 + 운영체제'를 공부하고 정리한 내용입니다. ● 명령어 집합(Instruction Set) : CPU가 이해할 수 있는 명령어들의 모음. 명령어집합 구조(ISA - Instruction Set Architecture)라고 한다. 명령어의 세세한 생김새, 명령어로 할 수 있는 연산, 주소 지정 방식 등 CPU마다 차이가 있고, 때문에 ISA가 다를 수 있다. 예를 들어 인텔 노트북의 CPU는 x86 혹은 x86-64 ISA를 이해하고, 애플 아이폰의 CPU는 ARM ISA를 이해한다. - ISA가 다르다는 건 CPU가 이해할 수 있는 명령어가 다르다는 뜻이고, 명령어가 달라지면 어셈블리어도 달리진다. - 같은 소스 코드로 만들어진 같은 프로그램이라도 ISA가..

이 글은 한빛미디어 '혼자 공부하는 컴퓨터 구조 + 운영체제'를 공부하고 정리한 내용입니다. 빠른 CPU를 위해 높은 클럭속도와 멀티코어, 멀티스레드를 지원하도록 하는게 중요하지만, CPU를 놀지 않고 시간을 알뜰하게 쓰며 작동하게 만드는 것이 중요!! ● 명령어 파이프라인 : 명령어를 읽어 순차적으로 실행하는 프로세서에 적용되는 기술. 명령어 인출 (IF - Instruction Fetch) 명령어 해석 (ID - Instruction Decode) 명령어 실행 (EX - Execute Instruction) 결과 저장 (WB - Write Back) ※ 전공서에 따라 '명령어 인출(IF) → 명령어 실행(EX)' 으로 나누기도 하고, '명령어 인출(IF) → 명령어 해석(ID) → 명령어 실행(EX)..

이 글은 한빛미디어 '혼자 공부하는 컴퓨터 구조 + 운영체제'를 공부하고 정리한 내용입니다. 클럭, 멀티코어, 멀티스레드는 무엇일까? 클럭(Clock) : CPU의 속도를 나타내는 단위. 컴퓨터 부품들은 '클럭 신호'에 맞춰 동작 CPU는 '명령어 사이클'의 정해진 흐름에 맞춰 명령어들을 실행 클럭 속도가 높아지면 CPU는 명령어 사이클을 더 빠르게 반복할 것이고, 다른 부품들도 더 빠르게 작동. 클럭 속도는 헤르츠(Hz) 단위로 측정. 1초에 한번 반복되면 클럭 속도는 1Hz ※ 클럭 속도는 항상 일정하지 않다. 고성능을 요할 땐 순간적으로 클럭속도를 높이고, 그렇지 않을 땐 클럭속도를 낮추는등 유연하게 속도를 조절하는데. 최대 클럭 속도를 강제로 더 끌어올리는 기법을 오버클럭킹(Overclocking..

이 글은 한빛미디어 '혼자 공부하는 컴퓨터 구조 + 운영체제'를 공부하고 정리한 내용입니다. 명령어를 처리하는 정형화된 흐름을 명령어 사이클이라 하고, 그런 흐름이 끊이는 현상을 인터럽트라 한다. ● 명령어 사이클 : 프로그램 속 명령어들을 일정한 주기로 반복되며 실행하는 일련의 과정. 메모리에 있는 명령어를 CPU로 가지고 오는 인출 사이클 CPU로 가져온 명령어를 실행하는 실행 사이클 간접 주소 지정 방식 등으로 인해 명령어를 실행하기 위해 메모리 접근이 한번 더 일어야서 실행하게 되는 간접 사이클 ● 인터럽트 : CPU가 수행 중인 작업을 방해하는 신호. 크게 동기 인터럽트, 비동기 인터럽트로 나뉨. 동기 인터럽트(Synchronous Interrupts) : CPU에 의해 발생하는 인터럽트. CP..

이 글은 한빛미디어 '혼자 공부하는 컴퓨터 구조 + 운영체제'를 공부하고 정리한 내용입니다. 프로그램 속 명령어와 데이터는 실행 전후로 반드시 레지스터에 저장된다. ● 레지스터 : CPU 내부의 작은 임시저장장치 - 프로그램 속 명령어 & 데이는 실행 전후로 레지스터에 저장 ● 반드시 알아야 할 레지스터 (1) 1. PC (Program Counter) : 메모리에서 가져올 명령어의 주소 (메모리에서 읽어 들일 명령어의 주소) 저장 2. IR (Instruction Register) : 해석할 명령어 (방금 메모리에서 읽어 들인 명령어) 저장 3. MAR (Memory Address Register) : 메모리 주소 저장 4. MBR (Memory Buffer Register) : 해당 주소에서 가져온 ..

이 글은 한빛미디어 '혼자 공부하는 컴퓨터 구조 + 운영체제'를 공부하고 정리한 내용입니다. - C언어 컴파일 과정 전처리기(Preprocessor) -> 컴파일러(Compiler) -> 어셈블러(Assembler) -> 링커(Linker) 1. 전처리 과정 : 본격적인 컴파일을 하기 전 처리할 작업들 외부에 선언된 다양한 소스 코드, 라이브러리 포함 (#include) 프로그래밍의 편의를 위해 작성된 매크로 변환 (#define) 컴파일할 영역 명시 (#if, #ifdef) 전역 변수 2. 컴파일 과정 : 전처리가 완료 되어도 여전히 소스 코드 전처리 완료된 소스 코드를 저급언어(어셈플리 언어)로 변환 3. 어셈블 과정 : 어셈블리어를 기계어로 변환 목적 코드(Object File)를 포함하는 목적 파..