목록분류 전체보기 (154)
LISTORY
뇌를 자극하는 윈도우즈 시스템 프로그래밍 책 관련 유투브 강의 정리 내용이다. 오늘 정리할 내용은 커널 모드와 유저 모드 부분이다. YouTube 주소 커널 모드와 유저 모드 커널 모드와 유저 모드 지난 시간에 커널 레벨 쓰레드와 유저 레벨 쓰레드에 대해 설명했다. 유저 레벨 쓰레드를 사용할 경우, 빠르지만 blocking 상태에 문제가 있을 수 있다고 설명하였다. 오늘은 유저 레벨 쓰레드가 왜 빠른지 그 이유를 설명하겠다. 설명하기에 앞서 알아야 할 부분이 커널 모드와 유저 모드이다. ⊙ 커널모드 & 유저모드 우리가 사용하고 있는 윈도우즈란 운영체제는 항상 커널모드, 유저모드 둘중 하나의 상태를 지닌다. 우리가 사용하면서도 우리는 모르게 수도 없이 많이 커널모드와 유저모드 사이를 왔다갔다 한다. 그럼 ..
뇌를 자극하는 윈도우즈 시스템 프로그래밍 유투브 강의 정리이다. 오늘 정리할 내용은 커널 레벨 쓰레드와 유저 레벨 쓰레드 부분이다. YouTube 주소 커널 레벨 쓰레드와 유저 레벨 쓰레드 커널 레벨 쓰레드와 유저 레벨 쓰레드 ⊙ 쓰레드 구현 모델에 따른 구분 쓰레드는 구현 모델에 따라 그 종류가 달라진다. 교과서적인 설명을 해보자면.. OS는 멀티 프로세스를 지원하는가 여부, 또 쓰레드를 지원하는가에 대한 여부에 따라 종류가 나뉜다. 오늘날에 OS가 두개가 있다고 가정해보겠다. OS1은 쓰레드를 지원하고, OS2는 쓰레드를 지원하지 않는다. 쓰레드를 지원한다는 것..? 커널이 쓰레드라는 기능을 지원한다. 여기서 쓰레드를 지원하지 않는 다는건, 커널이 쓰레드라는 기능을 제공하지 않는다는 뜻이다. 근데 사..
뇌를 자극하는 윈도우즈 시스템 프로그래밍 책 관련 유투브 강의 정리이다. 이번 시간에 정리할 내용은 Windows에서의 프로세스와 스레드이다. YouTube 주소 Windows에서의 프로세스와 스레드 Windows에서의 프로세스와 스레드 지난 시간에는 OS 관점에서 스레드를 이야기했다. 이번 시간에는 Windows 관점에서 이야기해보겠다. 이제까지 공부 스케줄러가 스케줄링하는 대상은 프로세스라고 배웠다. 하지만 실제로 windows에서 그 대상은 스레드이다. 상태정보또한 윈도우즈에서는 스레드가 가지고 있다. 대부분의 OS 책에서는 상태정보를 프로세스가 가지고 있다고 설명하는데 이는 교과서적인? 이론 부분에서 설명한 것이고 윈도우즈에서는 스레드가 가지고 있다. 상태정보에 대해 살짝 복습해보자. 상태정보는 ..
뇌를 자극하는 윈도우즈 시스템 프로그래밍 책 관련 유투브 강의 내용 정리이다. 지난 시간에 이어 내용을 계속하겠다. YouTube 주소 프로세스 vs 스레드 (2) 프로세스 vs 스레드 지난 시간에 이어, 스레드를 사용함으로 생기는 특성에 이어 정리하겠다. 일단 스레드는 Code, Data, Heap 영역을 공유한다고 했다. 공유한다는 것은 없다고 보면 된다. 코드영역은 쉽게말해 그냥 함수가 올라간다고 볼 수 있다. 함수는 전역함수, main 함수가 존재한다. 모두 아다싶이 main은 특별한 특성을 갖는다. main이 하나의 실행의 흐름이다. 실행의 흐름이 두개라는 것은 main이라는 이름이 아닐지라도 main 역할을 하는 함수가 둘 이상이라는 뜻이다. 스레드A의 main이 m2, 스레드B의 main이 ..
뇌를 자극하는 윈도우즈 시스템 프로그래밍 책의 유투브 강의 내용 정리이다. 오늘 정리할 내용은 프로세스 vs 쓰레드의 내용이다. YouTube 주소 프로세스 vs 쓰레드 프로세스 vs 쓰레드 ⊙ 쓰레드의 이해 쓰레드에 대해 알기 전에, 먼저 멀티 프로세스에 대한 이해가 필요하다. 멀티프로세스가 필요한 경우와 불필요한 경우는 어떤 경우일까? 운영체제 관점에서 멀티 프로세스가 필요한건 둘 이상의 프로그램을 실행시키기 위해서이다. 그런데 하나의 프로그램 안에서도 멀티 프로세스가 필요할까? 하나의 프로그램에서는 하나의 흐름을 갖는다. 즉 코드를 실행하는게 하나의 흐름이다. 근데 소프트웨어가 복잡해지면서 하나의 프로그램에서 둘 이상의 흐름을 가져야 하는 상황을 접하게 된다. 대표적으로 전투 테트리스가 있다. 자신..