Jost Do It.

그냥 IT해.

반응형

Study/컴퓨터공학 13

[컴퓨터 구조] 혼자 공부하는 컴퓨터구조 + 운영체제 Chapter 13 교착 상태

Chapter 13. 교착 상태 요약 교착 상태의 정의와 발생 원인을 학습하고, 이를 해결하는 방법에 대해 알 수 있었다. 내용 정리 13-1. 교착 상태란 교착 상태(deadlock) 두 개 이상 프로세스가 각자 자원을 점유하고, 서로의 자원을 요구할 때에 더 이상 프로세스 진행이 불가해진다. 즉, 서로의 종료만을 기다리며 진행이 멈춰버릴 때 교착 상태가 발생한다. 식사하는 철학자 문제(dining philosophers problem) 교착상태를 잘 설명하는 예시 철학자는 프로세스 또는 쓰레드, 포크는 자원, 생각하는 행위는 자원을 기다리는 것으로 이해할 수 있다. 포크는 한 번에 한 스레드에만 접근할 수 있으니 임계 구역으로 생각할 수 있다. 식사하는 철학자 문제 과정 모든 철학자는 원형 테이블에 ..

[컴퓨터 구조] 혼자 공부하는 컴퓨터구조 + 운영체제 Chapter 12 프로세스 동기화

Chapter 12. 프로세스 동기화 요약 프로세스 동기화의 의미와 다양한 기법들에 대해 알 수 있었다. 내용 정리 12-1. 동기화란 동기화의 의미 프로세스 동기화(synchronization) 프로세스 사이 수행 시기를 설정하는 것 동시다발적으로 실행되는 프로세스들은 독립적이거나, 서로 정보를 주고받고 협력할 수 있다. 서로 영향을 주는 프로세스들은 실행 순서와 자원 사용의 일관성을 보장해야 하기에 동기화 돼야 한다. 참고> 프로세스 뿐 아니라 스레드도 동기화의 대상이다. 즉, 실행의 흐름을 갖는 모든 것은 동기화 대상이다. 프로세스 동기화 시 요구조건 실행 순서 제어: 프로세스를 올바른 순서로 실행 상호 배제: 동시에 접근하면 안되는 자원에 하나의 자원만 접근할 수 있도록 하기 1. 실행 순서 제어..

[컴퓨터 구조] 혼자 공부하는 컴퓨터구조 + 운영체제 Chapter 11 CPU 스케줄링

Chapter 11. CPU 스케줄링 요약 CPU 스케줄링의 개념과 방법들에 대해 공부할 수 있었다. 내용 정리 11-1. CPU 스케줄링 개요 CPU 스케줄링 CPU 스케줄링 (CPU scheduling) 운영체제가 프로세스들에게 정해진 규칙으로 CPU 자원을 배분하는 것 CPU 스케줄링에 따라 컴퓨터 성능에 큰 영향을 미침 반드시 실행되야 할 프로그램이 적절히 실행되야 함 급한 프로세스는 우선 실행되고, 급하지 않은 프로세스들은 차선으로 실행할 수 있어야 함 프로세스에 CPU 자원 배분이 질서적으로 가능해야 함 프로세스 우선순위 프로세스 프로세스는 일의 중요도에 따라 우선순위가 존재한다. 우선순위가 높은 프로세스: 우선순위가 낮은 프로세스들 보다 빨리 처리 되야 하는 프로세스 프로세스는 실행 상태와 ..

[컴퓨터 구조] 혼자 공부하는 컴퓨터구조 + 운영체제 Chapter 10 프로세스와 스레드

Chapter 10. 프로세스와 스레드 요약 운영체제가 프로세스를 관리하는 방식을 알 수 있었고, 프로세스와 스레드의 차이에 대해 배울 수 있었다. 내용 정리 10-1. 프로세스 개요 프로세스(process) 보조기억장치에 저장된 프로그램을 메모리에 적재하고 실행할 때의 프로그램 프로세스를 생성한다 고 표현함 프로세스 확인하기 윈도우: 작업 관리자 -> 프로세스 탭 유닉스 체계: ps 명령어 프로세스 유형 포그라운드 프로세스(foreground process): 사용자가 보는 앞에서 실행되는 프로세스 백그라운드 프로세스(background process): 사용자가 보지 못하는 뒤편에서 실행되는 프로세스 사용자와 상호작용하는 백그라운드 프로세스와 그렇지 않은 프로세스가 있다. 데몬(demon): 유닉스 ..

[컴퓨터 구조] 혼자 공부하는 컴퓨터구조 + 운영체제 Chapter 9 운영체제 시작하기

Chapter 9. 운영체제 시작하기 요약 운영체제의 개요와 운영체제가 하드웨어의 시스템을 어떻게 통제하는지 이해할 수 있었다. 내용 정리 09-1. 운영체제를 알아야 하는 이유 운영체제란 운영체제(Operating system) 실행할 프로그램에 필요한 자원을 할당하고, 프로그램이 올바르게 실행되도록 돕는 프로그램 시스템 자원: 프로그램 실행에 필요한 요소들로 줄여서 자원이라고도 부름 근본 프로그램이기 때문에 컴퓨터가 부팅될 때 메모리의 커널 영역 내에 따로 적재돼 실행된다. 커널 영역(kernel space): 운영체제가 메모리에 적재되는 공간 사용자 영역(user space): 커널 영역을 제외한 영역으로 사용자가 이용하는 응용 프로그램이 적재되는 공간 응용 프로그램(application softw..

[컴퓨터 구조] 혼자 공부하는 컴퓨터구조 + 운영체제 Chapter 8 입출력장치

Chapter 8. 입출력장치 요약 입출력장치가 컴퓨터와 소통하는 방법을 알 수 있었다. 내용 정리 08-1. 장치 컨트롤러와 장치 드라이버 입출력장치가 다루기 까다로운 이유 1. 입출력 장치의 종류가 너무 많다. 다양한 입출력장치와 정보를 주고받는 방식을 규격화하기 어렵다. 장치마다 속도, 데이터 전송 형식 등이 모두 달라지게 된다. 2. 입출력장치의 데이터 전송률이 CPU, 메모리에 비해 낮다. 전송률(transfer rate): 데이터를 얼마나 빨리 교환할 수 있는지 나타내는 지표 전송률의 차이는 CPU와 메모리, 입출력장치간 통신이 어렵게된다. 장치 컨트롤러를 통해 위 한계를 극복한다. 장치 컨트롤러(device controller) 입출력장치는 컴퓨터와 직접적으로 연결하지 않고, 장치 컨트롤러라..

[컴퓨터 구조] 혼자 공부하는 컴퓨터구조 + 운영체제 Chapter 7 보조기억장치

Chapter 7. 보조기억장치 요약 보조기억장치의 종류와 보조기억장치를 구성하는 방법인 RAID 기술을 알 수 있었다. 내용 정리 대표적인 보조 기억 장치 하드 디스크 플래시 메모리 07-1. 다양한 보조기억장치 하드 디스크 하드 디스크 (HDD, Hard Disk Driver) 자기적인 방식으로 데이터를 저장하는 보조기억장치 자기 디스크(magnetic disk)의 일종으로 볼 수 있음. 하드 디스크 특징 동그란 원판에 데이터를 저장하고, 원판을 회전시켜 뾰족한 리더기를 통해 데이터를 읽는다. CD나 LP와 비슷하게 동작한다. 하드 디스크 구조 플래터(platter): 하드 디스크에서 데이터가 실질적으로 저장되는 곳. 원판 형태이다. 자기 물질로 덮여 있으며, 내부에 수많은 N극과 S극이 존재한다. ..

[컴퓨터 구조] 혼자 공부하는 컴퓨터구조 + 운영체제 Chapter 6 메모리와 캐시 메모리

Chapter 6. 메모리와 캐시 메모리 요약 RAM의 종류에 따른 특징을 알 수 있었고, CPU가 메모리의 프로그램을 어떻게 읽어들이는지 이해할 수 있었다. 내용 정리 06-1. RAM의 특징과 종류 RAM과 보조기억장치 RAM은 휘발성 저장 장치이다. 휘발성 저장 장치(volatile memory): 전원을 끄면 저장된 내용이 사라지는 저장 장치 하드디스크나 SSD 등 보조기억장치는 비휘발성 저장 장치이다. 비휘발성 저장 장치(non-volatile memory): 전원이 꺼져도 저장된 내용이 유지되는 저장 장치 한편 CPU는 보조기억장치에 직접 접근하지 못한다. 따라서 보조기억장치에는 "보관할 대상"을 저장하고, RAM에는 "실행할 대상"을 저장한다. RAM의 용량 RAM 용량이 작으면 보조기억장치..

[컴퓨터 구조] 혼자 공부하는 컴퓨터구조 + 운영체제 Chapter 5 CPU 성능 향상 기법

Chapter 5. CPU 성능 향상 기법 요약 CPU 성능 향상을 위해서 명령어를 병렬적으로 처리하는 파이프라이닝 기법에 대해 알 수 있었다. CPU 명령어 집합의 종류와 특징에 대해 알 수 있었고, 병렬화에 효율적인 명령어와 그렇지 못한 명령어의 차이에 대해 알 수 있었다. 내용 정리 05-1. 빠른 CPU를 위한 설계 기법 클럭 컴퓨터 부품들은 "클럭 신호" 주기에 맞춰서 명령어들이 실행되며 동작한다. 클럭 속도가 높을수록 CPU의 명령어 사이클은 더 빠르게 반복된다. 따라서 클럭 속도가 높은 CPU가 성능이 일반적으로 좋으며, CPU의 속도 단위로 간주된다. 클럭 속도 헤르츠(Hz) 단위로 측정되며 1초에 클럭이 몇번 반복되는지를 나타냄 1Hz는 1초에 클럭이 1번 반복된 것을 의미함 클럭속도는 ..

[컴퓨터 구조] 혼자 공부하는 컴퓨터구조 + 운영체제 CPU의 작동 원리

Chapter 4. CPU의 작동 원리 요약 CPU 내부에서 명령어가 어떻게 처리되는지 자세히 알 수 있었다. 내용 정리 04-1. ALU와 제어장치 배경 지식 CPU: 저장된 명령어를 읽고, 해석하고, 실행하는 장치 CPU 내부는 아래 장치들로 구성된다. ALU: CPU내에서 계산을 담당 제어장치: 명령어를 읽고 해석하는 장치 레지스터: CPU 내에 있는 작은 임시 저장 장치 ALU ALU: 계산을 수행하는 장치 레지스터에 저장된 피연산자를 받아들임 제어장치에서 수행할 연산을 알려주는 제어 신호를 받아들임 피연산자와 제어 신호를 통해 산술 연산, 논리 연산 등 다양한 연산을 수행함 연산을 위해 여러 회로들이 존재하며, 가산기, 보수기, 시프터, 오버플로우 검출기 등이 존재함 ALU 회로 가산기: 덧셈을..

반응형