Chapter 10. 프로세스와 스레드 목표 - 프로세스 제어 블록이란 무엇인지 이해한다. - 문맥 교환의 정의와 과정을 학습한다. - 프로세스는 메모리에 어떻게 배치되는지 학습한다. - 프로세스 상태와 프로세스 계층 구조를 학습한다. - 스레드의 개념을 이해하고, 멀티 프로세스와 멀티 스레드의 차이를 이해한다. 01. 프로세스 개요 1. 프로세스 - 실행 중인 프로그램 - 프로세스 생성 : 보조기억 장치에 저장된 프로그램을 메모리에 적재하고 실행 2. 포그라운드 프로세스 foreground process - 사용자가 볼 수 있는 공간에서 실행되는 프로세스 ex. 메모장, 크롬 등 3. 백그라운드 프로세스 background process - 사용자가 볼 수 없던 공간에서 실행되는 프로세스 - 종류 - ..
Chapter 8. 입출력 장치 목표 - 장치 컨트롤러에 대해 이해한다. - 장치 드라이버에 대해 이해한다. - 프로그램 입출력 방식이 무엇인지 이해한다. - 인터럽트 기반의 입출력 방식을 이해한다. - DMA 입출력 방식을 이해한다. 01. 장치 컨트롤러 1. 장치 컨트롤러의 필요성 - 입출력장치의 종류는 매우 다양함 - 입출력장치의 데이터 전송률*은 CPU와 메모리에 비해 낮음 *전송률 : 데이터를 얼마나 빨리 교환할 수 있는 지에 대한 지표 2. 장치 컨트롤러란? = 입출력 제어기 I/O contoller = 입출력 모듈 I/O module - 컴퓨터와 입출력장치를 연결하는 하드웨어 3. 장치 컨트롤러의 역할 - CPU와 입출력장치 간의 통신 중개 ex. 번역가 역할 - 오류 검출 - 데이터 버퍼링..
문법만 외워서는 제대로 쓸 수 없으니 타입스크립트의 원리부터 이해하자! 어떤 기준으로 타입을 정의하는지 어떤 기준으로 타입간의 관계를 정의하는지 어떤 기준으로 타입의 오류를 검사하는지 타입은 집합이다 타입 동일한 속성과 특징들을 갖는 여러값들을 모아둔 집합 number Literal Type = number Type의 부분집합 - nuber Literal Type : 서브타입, 자식타입 - number Type : 슈퍼타입, 부모타입 타입 호환성 어떤 타입을 다른 타입으로 취급해도 괜찮은지 판단하는 것 number Literal Type -> number Type : 호환됨(ex. 정사각형 -> 직사각형) number Literal Type Dog 초과 프로퍼티 검사 객체 타입 변수를 초기화할때 객체 l..
타입의 종류에 대해 알아보는 시간 기본타입 JavaScript와 유사 원시타입 Primitive Type - 하나의 값만 저장하는 타입 //number let num1 : number = 123; // :(콜론)으로 타입 정의하는 방식 = 타입 주석 let num2 : number = -123; let num3 : number = 0.123; let num4 : number = -0.123; let num5 : number = Infinity; let num6 : number = -Infinity; let num7 : number = NaN; // string let str1 : string = "hello"; let str2 : string = 'hello'; let str3 : string = `he..
초반부 간단한 이론 정리! 타입스크립트란 1. C# 개발자가 개발하여 유사한 부분이 많음 2. 인기가 많음(점점 더 많아지는 중) 3. 타입스크립트 = 자바스크립트의 확장판 - 자바스크립트를 더 안전하게 사용할 수 있도록 확장함 - 자바스크립트에 타입을 정의하는 문법만 추가하면 타입스크립트가 됨 4. 배워야하는 이유 : 간단한 기능을 위해 개발된 유연한(버그 가능성이 높은) 자바스크립트에 node.js(자바스크립트 구동기)가 더해져 자바스크립트로 다양한 구현이 가능해짐. 따라서 복잡한 프로그램을 만들 때 버그 가능성을 낮추기 위해(안전하게 사용하기 위해) 타입스크립트가 필요 자바스크립트의 한계점 타입 시스템 : 언어의 타입 관련된 문법 체계 - 정적 타입 시스템 : 코드 실행 전 변수의 타입 고정적으로 ..
Chapter 6. 메모리와 캐시 메모리 목표 - RAM의 특징과 종류에 대해 학습한다. - 논리 주소와 물리 주소의 차이를 이해한다. - 논리 주소를 물리 주소로 변환하는 방법을 이해한다. - 캐시 메모리와 저장 장치 계층 구조의 개념을 이해한다. 01. RAM의 특징과 종류 1. RAM(메모리) - 실행할 프로그램의 명령어와 데이터를 저장 - 휘발성 저장 장치 : 전원을 끄면 RAM에 저장된 명령어와 데이터는 모두 날아감 비휘발성 저장 장치 ex. SSD, 하드 디스크, USB 등 - CPU가 실행하고 싶은 프로그램이 보조 기억장치에 있을 때, RAM으로 복사하여 저장 후, 실행함 - 램의 용량이 크면 많은 프로그램들을 동시에 실행하는 데에 유리. 단, 용량이 필요 이상으로 커지면 속도가 비례하진 않..
Chapter 4. CPU의 작동 원리 목표 - ALU와 제어장치에 대해 학습한다. - 레지스터의 종류와 역할에 대해 학습한다. - 명령어 사이클을 이해한다. - 인터럽트의 개념을 이해한다. 05. ALU와 제어장치 1. ALU - CPU 내부에서 계산을 담당 - 피연산자와 제어신호로 다양한 연산을 수행 - 플래그 : 연산 결과에 대한 추가적인 상태 정보 ex. 결괏값이 음수, 결괏값이 오버플로우 됨 플래그 종류 의미 사용 예시 부호 플래그 연산한 결과의 부호를 나타낸다. 부호 플래그가 1일 경우 계산 결과는 음수, 0일 경우 계산 결과는 양수를 의미한다. 제로 플래그 연산 결과가 0인지 여부를 나타낸다. 제로 플래그가 1일 경우 연산 결과는 0, 0일 겨웅 연산 결과는 0이 아님을 의미한다. 캐리 플래..
컴퓨터 구조와 운영체제를 공부하여 문제 해결 능력을 길러 보자~! Chapter 1. 컴퓨터 구조 시작하기 목표 - 컴퓨터 구조를 공부하는 이유를 이해한다. - 컴퓨터 구조의 큰 그림을 이해한다. 01. 컴퓨터 구조 1. 컴퓨터 구조를 공부해야 하는 이유 - 코드 단에서는 해결할 수 없는 문제를 정확히 파악하고 해결하기 위하여 공부해야 한다. 2. 컴퓨터가 이해하는 정보 - 데이터 : 0과 1로 표현되는 숫자, 문자, 이미지, 동영상 등의 정적인 정보 - 명령어 : 데이터를 움직이고 컴퓨터를 작동시키는 정보 3. 컴퓨터의 네 가지 핵심 부품 - 중앙처리장치(CPU) - 산술논리연산장치(ALU) : 계산기 - 레지스터 : 프로그램 실행에 필요한 값들을 위한 작은 임시 저장 장치 - 제어장치 : 제어 신호(..