IT공부/IT서적 46

[뇌를 자극하는 윈도우즈 시스템 프로그래밍] 15장. 쓰레드 풀링(Pooling), 16장. 컴퓨터 구조 - 4

* 해당 글은 윤성우의 뇌를 자극하는 윈도우즈 시스템 프로그래밍 도서를 읽고 정리한 글입니다   https://product.kyobobook.co.kr/detail/S000001223395 뇌를 자극하는 윈도우즈 시스템 프로그래밍 | 윤성우 - 교보문고뇌를 자극하는 윈도우즈 시스템 프로그래밍 |product.kyobobook.co.kr   * 쓰레드 풀링   한 번 생성한 쓰레드를 재활용해서 시스템의 부담을 덜어주기 위한 기법 * 파이프를 구성한다   서로 다른 프로세스의 입력과 출력을 연결하는 경우 * 캐시 메모리는 원래 CPU의 일부로 존재하는 메모리 개념이 아니라 CPU에 근접해 있는 메모리 개념이다 * 메모리 계층(Memory Hierarchy) 구조 * 템퍼럴 로컬리티(Temporal Loca..

IT공부/IT서적 2025.02.20

[뇌를 자극하는 윈도우즈 시스템 프로그래밍] 13장, 14장. 쓰레드 동기화 기법 1, 쓰레드 동기화 기법 2

* 해당 글은 윤성우의 뇌를 자극하는 윈도우즈 시스템 프로그래밍 도서를 읽고 정리한 글입니다   https://product.kyobobook.co.kr/detail/S000001223395 뇌를 자극하는 윈도우즈 시스템 프로그래밍 | 윤성우 - 교보문고뇌를 자극하는 윈도우즈 시스템 프로그래밍 |product.kyobobook.co.kr    * 실행 순서의 동기화   쓰레드의 실행순서를 정의하고, 이 순서를 반드시 따르도록 하는 것 * 메모리 접근에 대한 동기화   메모리 접근에 있어서 동시 접근을 막는 것 * 유저 모드 동기화(User Mode Synchronize) : 동기화가 진행되는 과정에서 커널 코드가 실행되지 않는 동기화 기법    (1) 크리티컬 섹션 기반의 동기화 → 메모리 접근 동기화 ..

IT공부/IT서적 2025.02.17

[뇌를 자극하는 윈도우즈 시스템 프로그래밍] 12장. 쓰레드의 생성과 소멸

* 해당 글은 윤성우의 뇌를 자극하는 윈도우즈 시스템 프로그래밍 도서를 읽고 정리한 글입니다   https://product.kyobobook.co.kr/detail/S000001223395 뇌를 자극하는 윈도우즈 시스템 프로그래밍 | 윤성우 - 교보문고뇌를 자극하는 윈도우즈 시스템 프로그래밍 |product.kyobobook.co.kr    * CreateThread 함수   쓰레드 생성HANDLE CreateThread( [in, optional] LPSECURITY_ATTRIBUTES lpThreadAttributes, [in] SIZE_T dwStackSize, [in] LPTHREAD_START_ROUTINE lp..

IT공부/IT서적 2025.02.13

[윤성우 열혈 C프로그래밍] 매크로 # 연산자(P572 ~ P575)

* # 연산자   C 전처리기에서 매크로의 매개변수를 문자열 리터럴로 변환하는 연산자   해당 연산자를 사용하면 매개변수가 문자열로 변환되며,   전달된 값이 문자열 리터럴("")이라면 큰 따옴표, 문자 리터럴('')이라면 작은 따옴표가 유지 1. MacroOpToString.c의 결과값은 예제 코드와 다름   만약 예제와 같이 출력하고자 한다면 #A"의 직업은 " #B"입니다." 가 아니라 A"의 직업은 " B"입니다."로 기입해야 한다   ㄴ chatgpt 확인 결과,       C 표준이 변한 것이 아니라,       과거부터 # 연산자는 매개변수를 문자열로 변환할 때        문자는 작은따옴표('), 문자열은 큰따옴표("), 숫자는 그대로 출력하는 것이 정상적인 동작임        VS2010..

IT공부/IT서적 2025.02.11

[뇌를 자극하는 윈도우즈 시스템 프로그래밍] 11장. 쓰레드의 이해

* 해당 글은 윤성우의 뇌를 자극하는 윈도우즈 시스템 프로그래밍 도서를 읽고 정리한 글입니다   https://product.kyobobook.co.kr/detail/S000001223395 뇌를 자극하는 윈도우즈 시스템 프로그래밍 | 윤성우 - 교보문고뇌를 자극하는 윈도우즈 시스템 프로그래밍 |product.kyobobook.co.kr     * 쓰레드가 실행할 수 있는 환경을 제공하는 것이 프로세스이고, 그 환경 안에서 스레드가 동작한다 * 멀티 프로세스 운영체제 기반 프로그램의 문제점과 대안   [문제] 빈번한 컨텍스트 스위칭(Context Switching)은 성능 저하를 유발   [해결책] 컨텍스트 스위칭에 소요되는 시간을 줄이기 위해 저장하고 복원하는 컨텍스트 정보의 개수를 줄이자   [탄생]..

IT공부/IT서적 2025.02.04

[뇌를 자극하는 윈도우즈 시스템 프로그래밍] 10장. 컴퓨터 구조 - 3

* 해당 글은 윤성우의 뇌를 자극하는 윈도우즈 시스템 프로그래밍 도서를 읽고 정리한 글입니다   https://product.kyobobook.co.kr/detail/S000001223395 뇌를 자극하는 윈도우즈 시스템 프로그래밍 | 윤성우 - 교보문고뇌를 자극하는 윈도우즈 시스템 프로그래밍 |product.kyobobook.co.kr     * 스택 프레임   함수 호출 과정에서 할당되는 메모리 블록 * 메모리 블록   지역변수 선언으로 인해 할당되는 메모리 블록 * 스택에 데이터를 쌓거나 반환하기 위해서는 스택 위치를 기억해야 한다 * sp 레지스터(Stack Pointer 레지스터), ESP   현재 스택의 최상단 * fp 레지스터(Frame Pointer 레지스터), EBP   스택 프레임의 기..

IT공부/IT서적 2025.01.30

[윤성우 열혈 C프로그래밍] 어셈블리 코드 - Chapter21

* 스트림(stream) → 한 방향으로 흐르는 데이터 흐름    프로그램상에서 모니터와 키보드를 대상으로 데이터를 입출력 하기 위해서는 이들을 연결시켜주는 다리가 필요함   이러한 다리 역할을 하는 매개체를 가리켜 스트림(stream)이라고 함   ㄴ 콘솔 입출력을 위한 입력 스트림과 출력 스트림은         프로그램이 실행되면 자동으로 생성되고,        프로그램이 종료되면 자동으로 소멸되는 스트림이다 * 입출력 함수   문자 출력 함수 : putchar, fputc   문자 입력 함수 : getchar, fgetc   문자열 출력 함수 : puts, fputs   문자열 입력 함수 : gets, fgets * 입출력 이외의 문자열 관련 함수   문자열의 길이를 반환하는 함수 : strlen ..

IT공부/IT서적 2025.01.30