IT공부 92

[뇌를 자극하는 윈도우즈 시스템 프로그래밍] 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

[뇌를 자극하는 윈도우즈 시스템 프로그래밍] 9장. 스케줄링 알고리즘과 우선순위

* 해당 글은 윤성우의 뇌를 자극하는 윈도우즈 시스템 프로그래밍 도서를 읽고 정리한 글입니다   https://product.kyobobook.co.kr/detail/S000001223395 뇌를 자극하는 윈도우즈 시스템 프로그래밍 | 윤성우 - 교보문고뇌를 자극하는 윈도우즈 시스템 프로그래밍 |product.kyobobook.co.kr    * 스케줄러(Scheduler)   실행중인 모든 프로세스들에게 골고루 CPU를 할당 * 일반 OS   범용적인 사용 * 리얼타임 OS(Real Time OS, RTOS)    사용하는 영역이 제한 * 일반 OS와 RTOS는 응답성(응답 속도)에 차이가 있고   멀티 테스킹 해야하는 일반 OS보단 사용하는 영역이 제한된 RTOS보다 당연히 응답성이 느릴 수 밖에 없..

IT공부/IT서적 2025.01.28

[ETC] 메모리 원자성과 DB 원자성

* 메모리 원자성(Atomicity)   데이터의 읽기 또는 쓰기 작업이 분할되지 않고 한 번에 처리되는 성질을 의미한다 * 캐시 라인(Cache Line)과 메모리 원자성의 관계   캐시 라인이란?   CPU가 메모리를 효율적으로 관리하기 위해 사용하는 데이터 블록 단위(일반적으로 64바이트)   ㄴ 캐시 라인 내 데이터는 원자성을 보장할 수 있음(데이터를 한 번만 읽어와도 됨)   ㄴ 캐시 라인 경계를 넘는 데이터는 원자성을 보장할 수 없음(데이터를 두 번 읽어와야 함) * 원자성 보장의 조건(1) 캐시 라인 내부 데이터   데이터가 캐시 라인 경계를 넘지 않고, CPU 지원 크기(예: 64비트)에 맞춰 정렬되어 있다면 원자적으로 처리 가능(2) 메모리 정렬   데이터가 자연스러운 정렬(Aligned..

IT공부 2025.01.24

[뇌를 자극하는 윈도우즈 시스템 프로그래밍] 8장. 프로세스간 통신(IPC) - 2

* 해당 글은 윤성우의 뇌를 자극하는 윈도우즈 시스템 프로그래밍 도서를 읽고 정리한 글입니다   https://product.kyobobook.co.kr/detail/S000001223395 뇌를 자극하는 윈도우즈 시스템 프로그래밍 | 윤성우 - 교보문고뇌를 자극하는 윈도우즈 시스템 프로그래밍 |product.kyobobook.co.kr    * 핸들 테이블   핸들 정보를 저장하고 있는 테이블로서 프로세스별로 독립적이다 * Usage Count   커널 오브젝트를 참조하는 프로세스 개수만큼 커널 오브젝트의 Usage Count 증가 * 프로세스가 핸들을 얻게 되었다는 의미   핸들 테이블에 해당 핸들에 대한 정보가 갱신(추가)되었음을 의미하는 것이다 * GetCurrentProcess 함수   현재 실..

IT공부/IT서적 2025.01.21