※ 아래는 윤성우 뇌를 자극하는 윈도우즈 프로그래밍 한빛미디어(주) 2022년 Chapter01(p.27 ~ 47)을 읽고 정리한 내용입니다. 01 시스템 프로그래밍 컴퓨터 시스템을 동작시키는 프로그램을 구현하는 것 02 컴퓨터 하드웨어의 구성 - CPU(Central Processing Unit) : 중앙처리장치 |CPU 구성|설명| |---|--...
※ 아래는 윤성우 뇌를 자극하는 윈도우즈 프로그래밍 한빛미디어(주) 2022년 Chapter02(p.51 ~ 75)를 읽고 정리한 내용입니다. 01 문자셋(Character Sets)의 종류와 특성 문자셋 : 문자들의 집합, 다시 말해서 "약속된 문자의 표현방법" |문자셋의 종류|특성| |---|---| |SBCS(Single Byte Characte...
※ 아래는 윤성우 뇌를 자극하는 윈도우즈 프로그래밍 한빛미디어(주) 2022년 Chapter03(p.79 ~ 102)을 읽고 정리한 내용입니다. 01 64비트와 32비트 한 번에 송/수신 할 수 있는 데이터 크기와 한 번에 처리할 수 있는 데이터 크기를 기준으로 구분됨 02 LLP64 vs LP64 32비트 환경에서는 int, long, 포인터 모두...
※ 아래는 윤성우 뇌를 자극하는 윈도우즈 프로그래밍 한빛미디어(주) 2022년 Chapter04(p.107 ~ 125)를 읽고 정리한 내용입니다. 01 레지스터를 디자인하자 레지스터를 몇 비트로 구성할 것인가? -> 16비트 몇 개 정도로 레지스터를 구성할 것인가? -> 8개 레지스터 각각을 무슨 용도로 사용할 것인가? -> 아래와 같이 사용 |r0...
※ 아래는 윤성우 뇌를 자극하는 윈도우즈 프로그래밍 한빛미디어(주) 2022년 Chapter05(p.129 ~ 160)를 읽고 정리한 내용입니다. 01 프로세스 실행 중에 있는 프로그램 프로세스를 구성하는 요소 (1) Execution of 'C' Program |영역|설명| |---|---| |Data|전역변수나 static 변수의 할당을 위해 존...
※ 아래는 윤성우 뇌를 자극하는 윈도우즈 프로그래밍 한빛미디어(주) 2022년 Chapter06(p.165 ~ 207)를 읽고 정리한 내용입니다. 01 커널 오브젝트와 핸들 - 커널 : 컴퓨터를 운영하는데 있어 중심이 되는 운영체제 핵심부분(운영체제라고도 함)- 커널 오브젝트 : 커널에서 관리하는 중요한 정보를 담아둔 데이터 블록 (프로세스가 생성될 때...
※ 아래는 윤성우 뇌를 자극하는 윈도우즈 프로그래밍 한빛미디어(주) 2022년 Chapter07(p.211 ~ 237)를 읽고 정리한 내용입니다. 01 프로세스간 통신(IPC)의 의미 Inter-Process Communication 프로세스 사이의 통신 -> 둘 이상의 프로세스가 데이터를 주고 받는 행위 프로세스들은 서로 만나서 데이터를 주고 받는 것...
※ 아래는 윤성우 뇌를 자극하는 윈도우즈 프로그래밍 한빛미디어(주) 2022년 Chapter11(p.351 ~ 367)를 읽고 정리한 내용입니다. 01 쓰레드의 특성 쓰레드 하나의 프로그램 내에서 여러 개의 실행 흐름을 두기 위한 모델 프로세스처럼 완벽히 독립적인 구조가 아니다. 쓰레드들 사이에는 공유하는 요소들이 있다. 쓰레드는 공유하는 요소가 있는 ...
※ 아래는 윤성우 뇌를 자극하는 윈도우즈 프로그래밍 한빛미디어(주) 2022년 Chapter09(p.293 ~ 315)를 읽고 정리한 내용입니다. 01 응답성 관점에서 RTOS와 일반 OS의 구분 RTOS(실시간 운영체제)와 일반 OS를 구분 짓는 기준을 단순히 속도로 정의하면 안 된다. 속도와는 별도로 응답성의 관점에서 이 둘을 구분해야 한다. 응답성...
※ 아래는 윤성우 뇌를 자극하는 윈도우즈 프로그래밍 한빛미디어(주) 2022년 Chapter10(p.321 ~ 347)를 읽고 정리한 내용입니다. 01 스택이 관리되는 방법 함수 내에 선언된 변수는 스택에 할당된다. 함수 호출 과정에서 할당되는 메모리 블록을 스택 프레임이라 한다. 스택 프레임은 가장 먼저 할당되면 가장 나중에 반환되고, 가장 나중에 할...
※ 아래는 윤성우 뇌를 자극하는 윈도우즈 프로그래밍 한빛미디어(주) 2022년 Chapter19(p.635 ~ 668)를 읽고 정리한 내용입니다. 01 비동기 I/O의 이해 한번 호출되면 완료될 때까지 블로킹되는 함수들을 블로킹 함수라 하고, 이 함수들을 활용한 입,출력 연산을 동기 I/O라 표현한다. I/O 작업을 계속 하면서 버퍼링된 데이터를 기반...
※ 아래는 윤성우 뇌를 자극하는 윈도우즈 프로그래밍 한빛미디어(주) 2022년 Chapter12(p.371 ~ 406)를 읽고 정리한 내용입니다. windows에서의 쓰레드 생성과 소멸 쓰레드의 성격과 특성 쓰레드의 상태 컨트롤 쓰레드의 우선순위 컨트롤 01 메모리를 공유하는 쓰레드 동시 접근의 문제점 변수 total 10이 있다. 두 개의 쓰레드(...
※ 아래는 윤성우 뇌를 자극하는 윈도우즈 프로그래밍 한빛미디어(주) 2022년 Chapter15(p.479 ~ 496)를 읽고 정리한 내용입니다. 01 쓰레드 풀링의 이해 쓰레드 풀링은 한번 생성한 쓰레드를 재활용해서 시스템의 부담을 덜어주기 위한 기법이다. 이는 쓰레드의 생성과 소멸에 소모되는 리소스가 상당하기 때문에 등장한 것이다. (여러개의 쓰레드...
※ 아래는 윤성우 뇌를 자극하는 윈도우즈 프로그래밍 한빛미디어(주) 2022년 Chapter21(p.719 ~ 753)를 읽고 정리한 내용입니다. 01 라이브러리와 printf #include 에는 printf 함수의 선언만 존재하고 정의는 존재하지 않는다. printf 함수의 바이너리는 어디에 있을까? -> 호출 가능한 printf 함수는 라이브러리(...
※ 아래는 윤성우 뇌를 자극하는 윈도우즈 프로그래밍 한빛미디어(주) 2022년 Chapter08(p.241 ~ 289)를 읽고 정리한 내용입니다. 01 핸들 테이블 커널 오브젝트와 핸들 사이에 핸들 테이블이 존재한다. 이로서 핸들을 참조하여 특정 커널 오브젝트를 가리킬 수 있다. 핸들 테이블은 프로세스별로 독립적이며, 등록되는 순간부터 핸들이라 할 수...
※ 아래는 윤성우 뇌를 자극하는 윈도우즈 프로그래밍 한빛미디어(주) 2022년 Chapter17(p.531 ~ 581)를 읽고 정리한 내용입니다. 01 하드웨어 예외와 소프트웨어 예외 하드웨어 예외 : 하드웨어에서 인식하고 알려주는 예외 -> 이미 결정되어 있음 소프트웨어 예외 : 소프트웨어에서 감지하는 예외 -> 프로그래머가 직접 정의할 수 있음 0...
※ 아래는 윤성우 뇌를 자극하는 윈도우즈 프로그래밍 한빛미디어(주) 2022년 Chapter13(p.411 ~ 449)를 읽고 정리한 내용입니다. 01 쓰레드 동기화 동기화란 보통 동일한 상태(일치함)를 의미하지만 쓰레드 관점에서 동기화는 질서가 잘 지켜지고 있음을 의미한다. 실행순서의 동기화 : 쓰레드의 실행순서를 정의하고 이 순서에 반드시 따르도록...
※ 아래는 윤성우 뇌를 자극하는 윈도우즈 프로그래밍 한빛미디어(주) 2022년 Chapter20(p.673 ~ 714)를 읽고 정리한 내용입니다. 01 가상 메모리(Virtual Memory) 컨트롤 페이지의 총 개수 가상 메모리 크기 / 페이지 하나당 크기 = 페이지의 개수 -> 페이지 개수는 가상 메모리 크기에 비례 -> 모든 페이지는 Reserve...
※ 아래는 윤성우 뇌를 자극하는 윈도우즈 프로그래밍 한빛미디어(주) 2022년 Chapter14(p.453 ~ 474)를 읽고 정리한 내용입니다. 01 생산자/소비자 모델 맛있는 빵을 구워내는 생산자가 있다. 이 생산자는 빵을 구워서 테이블 위에 올려 놓는다. 그러면 값을 지불한 소비자들은 테이블에 올려진 빵을 먹게 된다. 순서가 바뀌어 버린다면 소비...
※ 아래는 윤성우 뇌를 자극하는 윈도우즈 프로그래밍 한빛미디어(주) 2022년 Chapter18(p.585 ~ 631)를 읽고 정리한 내용입니다. 01 기본적인 파일 처리 함수들 02 디렉터리 관련 함수 및 그밖의 함수들 현재 디렉터리 초기에는 프로그램이 로드된 디렉터리(실행파일이 존재하는 디렉터리)로 설정되며, 이후 변경 가능 시스템 디렉터리 & ...
※ 아래는 윤성우 뇌를 자극하는 윈도우즈 프로그래밍 한빛미디어(주) 2022년 Chapter16(p.503 ~ 526)를 읽고 정리한 내용입니다. 01 메모리 계층 메인 메모리 메인 메모리가 반드시 램이어야 할 이유는 없으나 거의 모든 컴퓨터가 메인 메모리로 램을 사용함 레지스터 CPU안에 내장되어 연산을 위한 저장소를 제공 캐쉬 원래는 CPU에 근접해...