목록분류 전체보기 (154)
LISTORY
뇌를 자극하는 윈도우즈 시스템 프로그래밍 유투브 강의 1부 정리이다. 저번 포스팅에 이어 1부 정리를 계속 하겠다. 2장. Windows에서의 유니코드 유니코드에 대해 말하기 전, 문자셋이라는 것이 무엇인지 알아야 한다. 문자셋은 문자의 집함으로, 문자를 어떻게 표현하느냐에 따라 세가지로 나뉜다. 1. SBCS(Single Byte Character Set)- 문자를 표현하는데 1바이트 사용- 아스키 코드 2. MBCS(Multi Byte Character Set)- 한글은 2바이트, 영문은 1바이트 사용 3. WBCS(Wide Byte Character Set)- 문자를 표현하는데 2바이트 사용- 유니 코드 기존에 컴퓨터는 MBCS 기반의 Character Set이었다. 하지만 요즘 시스템은 메모리의 ..
오늘은 뇌를 자극하는 윈도우즈 시스템 프로그래밍 책의 유투브 강의 1부를 전체 정리해보겠다. 1부은 목차는 다음과 같았다. 1부. 컴퓨터 구조와 프로그래밍 모델1장. 컴퓨터 구조에 대한 첫 번째 이야기2장. 아스키코드 vs 유니코드3장. 64비트 기반 프로그래밍 이를 차례대로 정리해보겠다. 1장. 컴퓨터 구조에 대한 첫 번째 이야기 ⊙ 컴퓨터 구조 일반적으로 시스템을 생각할 때, 하드웨어만 생각하는 경향이 존재한다. 하지만 실제로 시스템이란 하드웨어와 운영체제를 합친 것이라 할 수 있다. 컴퓨터 시스템 또한 마찬가지이다. 컴퓨터 시스템은 크게 CPU, 캐시, 메인 메모리, 하드디스크로 구성되어 있다. 여기서 CPU와 캐시를 크게 묶어 컴퓨터 구조라 하고, 메인 메모리와 하드디스크를 크게 묶어 운영체제라 ..
뇌를 자극하는 윈도우즈 시스템 프로그래밍 책 관련 유투브 강의 정리이다. 이번에 정리할 내용은 쓰레드의 상태 컨트롤 부분이다. 쓰레드의 상태 컨트롤 사실 쓰레드의 상태는 Running, Ready, Blocked 세가지로 모든 것이 프로세스와 같다. 스케줄러는 프로세스 컨트롤이 아니라 쓰레드를 컨트롤 한다. 윈도우즈에서는 쓰레드가 상태를 지닌다. 우리가 아는 내용을 전부 쓰레드 관점으로 보면 된다. * SuspendThread? Running 상태의 쓰레드를 Blocked 상태가 되도록 바꿔줌 * ResumeThread SuspendThread와 반대로 Blocked 상태의 쓰레드를 Running으로 바꾸어 준다. Ready과 Running 상태는 완전히 스케줄러 영역이므로 건들 수 없다.
뇌를 자극하는 윈도우즈 시스템 프로그래밍 책 관련 YOUTUBE 강의 정리이다. 이번에 정리할 내용은 쓰레드의 성격과 특성이다. YouTube 강의 주소 쓰레드의 성격과 특성 쓰레드의 성격과 특성 하나의 프로세스 안의 모든 쓰레드들은 stack을 독립적으로 갖고, 힙, 데이터, 코드 영역을 공유한다. 즉, 하나의 프로세스안에 하나의 함수, 변수등을 선언해 두고 여러 쓰레드에서 사용하다는 것이 가능하다는 뜻이다. 그렇다면 동시에 여러 쓰레드가 하나의 변수에 접근하면 어떻게 될까? ⊙ 동시접근의 문제 이런 경우를 생각해보자 A, B 쓰레드가 둘다 RUNNING 중이고, 같은 변수(total)를 사용한다. A가 작업중이라고 가정해보자. 계산을 위해 레지스터 r1을 사용한다. 계산을 하여 r1에 16이 저장되었..
뇌를 자극하는 윈도우즈 시스템 프로그래밍 책 관련 유투브 강의 정리이다. 오늘 정리할 내용은 Windows에서의 쓰레드 생성과 소멸에 대한 내용이다. YouTube 주소 Windows에서의 쓰레드 생성과 소멸 Windows에서의 쓰레드 생성과 소멸 ⊙ 쓰레드의 생성 쓰레드의 생성은 프로세스와 비슷하다. 함수는 CreateThread()를 사용한다. 구성은 이와같이 되어있다. 각각의 인자에 대해 설명해보겠다. 첫 번째 인자는 보안관리자이다. 부모 자식간에 handle의 상속 여부를 결정한다. 두 번째 인자는 독립적인 stack 할당, 즉 사이즈 결정를 결정한다. 우리가 얼마나 주냐에 따라 stack의 사이즈가 결정된다. 보통 default로 준다. 세 번째는 함수 포인터, 함수를 가리킬 수 있는 포인터이다..