IT공부 85

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

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

IT공부 2025.01.24

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

* 핸들 테이블   핸들 정보를 저장하고 있는 테이블로서 프로세스별로 독립적이다 * Usage Count   커널 오브젝트를 참조하는 프로세스 개수만큼 커널 오브젝트의 Usage Count 증가 * 프로세스가 핸들을 얻게 되었다는 의미   핸들 테이블에 해당 핸들에 대한 정보가 갱신(추가)되었음을 의미하는 것이다 * GetCurrentProcess 함수   현재 실행중인 프로세스 자신의 핸들을 얻을 수 있다   [그런데] 이 함수를 통해 얻은 핸들을 가리켜 가짜 핸들(Pseudo 핸들)이라고 함                 현재 실행중인 프로세스를 참조하기 위한 용도로 정의해 놓은, 약속된 상수가 반환되는 것이기 때문임   [따라서] 자식 프로세스에 상속되지 않는다                 현재 실행..

IT공부/IT서적 2025.01.21

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

* 해당 글은 윤성우의 뇌를 자극하는 윈도우즈 시스템 프로그래밍 도서를 읽고 정리한 글입니다   https://product.kyobobook.co.kr/detail/S000001223395 뇌를 자극하는 윈도우즈 시스템 프로그래밍 | 윤성우 - 교보문고뇌를 자극하는 윈도우즈 시스템 프로그래밍 |product.kyobobook.co.kr    * IPC(Inter-Process Communication)   프로세스 사이의 통신 프로세스들은 자신에게 할당된 메모리 공간 이외에는 접근이 불가능ㄴ 안정성을 높이기 위함 * 메일 슬롯(Mail Slot)   데이터를 주고 받기 위해서 프로세스가 우체통을 마련하는 것   단방향 통신과 브로드캐스팅 방식을 지원하는 통신 기법 * CreateMailslot 함수HA..

IT공부/IT서적 2025.01.07

[뇌를 자극하는 윈도우즈 시스템 프로그래밍] 6장. 커널 오브젝트와 오브젝트 핸들

* 해당 글은 윤성우의 뇌를 자극하는 윈도우즈 시스템 프로그래밍 도서를 읽고 정리한 글입니다   https://product.kyobobook.co.kr/detail/S000001223395 뇌를 자극하는 윈도우즈 시스템 프로그래밍 | 윤성우 - 교보문고뇌를 자극하는 윈도우즈 시스템 프로그래밍 |product.kyobobook.co.kr    * 커널   컴퓨터를 운영하는데 있어서 중심이 되는 운영체제 핵심 부분을 뜻함 * 커널 오브젝트   Windows 운영체제는 프로세스, 쓰레드 혹은 파일과 같은 리소스(Resource)들을   원활히 관리하기 위해 필요한 정보를 저장해야 한다.   이때 데이터를 저장하는 메모리 블록을 가리켜  커널 오브젝트라 한다   → 프로세스가 생성될 때마다 프로세스 관리 구조..

IT공부/IT서적 2024.12.31