[Windows System Programming] 쓰레드의 생성과 소멸
·
내가 공부한 것들/Windows 시스템 프로그래밍
[공부했던 것을 되짚어보며] https://sevenshards.tistory.com/56 [Windows System Programming] 쓰레드의 이해 [공부했던 것을 되짚어보며] 사실 지금까지 우리는 프로세스에 대한 이야기만 계속 늘어놨습니다. 커널 오브젝트에, 핸들에, 핸들 테이블과 프로세스 간 통신 이야기만 했습니다. 그리고 쓰레드 sevenshards.tistory.com 지난 글에서는 쓰레드에 대한 개념적인 이해를 했습니다. 쓰레드를 왜 쓰는지, 그리고 Windows에서의 쓰레드는 어떤 것인지에 대해서도 확인했습니다. 이번 글에서는 쓰레드를 직접 생성하고 소멸하는 과정을 거치면서 배웠던 내용을 정리해보려고 합니다. [Windows에서의 쓰레드 생성과 소멸] 이전 글에서 다뤘던 내용은 쓰레드..
[Windows System Programming] 쓰레드의 이해
·
내가 공부한 것들/Windows 시스템 프로그래밍
[공부했던 것을 되짚어보며] 사실 지금까지 우리는 프로세스에 대한 이야기만 계속 늘어놨습니다. 커널 오브젝트에, 핸들에, 핸들 테이블과 프로세스 간 통신 이야기만 했습니다. 그리고 쓰레드는 뒤에서 이야기한다고 했었죠. 도대체 '쓰레드'라는게 뭐길래? 아마 이걸 공부하시는 분들이라면 '멀티 쓰레드'라는 말은 한 번쯤은 들어보셨을겁니다. '프로세스보다 더 잘게 쪼갠 것이 쓰레드다' 라고 알고 계신 분들도 있을거고요. 대충은 맞는 말입니다. 프로세스와 관련된 내용을 잘 알고 계신다면 쓰레드는 크게 어려울 것이 없습니다. [쓰레드(Thread)란 무엇인가] 일단 쓰레드 이야기를 하기 전에 우리가 지금까지 공부했던 내용을 좀 톺아보고 갈까 합니다. 왜 쓰레드가 필요하게 되었는지, 어째서 생겨났는지를 알기 위해서는..
[Windows System Programming] 커널 오브젝트와 오브젝트 핸들
·
내가 공부한 것들/Windows 시스템 프로그래밍
[커널 오브젝트에 대한 이해] 저를 포함해서 운영체제와 관련된 공부를 하면서 아마 '커널(Kernel)'이라는 단어를 한 번쯤은 들어봤을겁니다. 우리가 지금 쓰는 운영체제는 기본적인 요소 외에도 여러가지 기능들을 제공합니다. 메모장이라던가, 웹 브라우저, 그림판이나 계산기 등등의 잡다한 것들도 있습니다. 그런데 그 중에서도 컴퓨터를 운영하는 데에 있어 핵심이 되는 부분을 '커널'이라고 합니다. 요즘에는 이런걸 세세하게 따지는지는 잘 모르겠습니다. 그렇지만 이번에는 '커널 오브젝트'라는 것을 주제로 다룰 것이기 때문입니다. 일단 '커널 오브젝트'라는 놈이 뭐냐? 한 문장으로 정리하면 다음과 같습니다. "커널에서 관리하는 중요한 정보를 담아둔 데이터 블록을 가리켜 '커널 오브젝트'라 한다." 여기서 커널이 ..
[Windows System Programming] 프로세스의 생성과 소멸
·
내가 공부한 것들/Windows 시스템 프로그래밍
[프로세스의 이해] 현재 운영체제는 "멀티 프로세스(Multi-Process) 운영체제"라고 한다. 쉽게 말하면 "프로세스라는 것이 여러개 존재할 수 있는 운영체제"를 말한다. 여기서 프로세스라는 것을 뭘 말하는 것일까? 애초에 프로그램은 뭐고 프로세스는 뭘까? [프로세스(Process)란 무엇인가?] 어려운 개념이 아니다. 쉽게 말할 것도 없다. "프로세스"란, 메인 메모리에 올라가서 현재 실행 중에 있는 프로그램을 의미한다. 쉽게 생각해서 우리가 즐겨하는 게임들을 예로 들면 금방 이해가 될 것 같다. 원신이라던가, 리그 오브 레전드 같은 게임을 실행할 때, 이 실행 파일의 이름이 "게임이름.exe"같은 식으로 되어 있다. 이런 실행 파일을 프로그램이라고 한다. 그리고 이 프로그램을 실행하기 위해서 더..
sevenshards
'프로세스' 태그의 글 목록