목록분류 전체보기 (154)
LISTORY
뇌를 자극하는 윈도우즈 시스템 프로그래밍 책 관련 유투브 강의 정리이다. 이번 시간에 정리할 내용은 알림 가능한 상태(Alertable State), APC(Asynchronous Procedure Call) 이다. YouTube 주소 : 알림 가능한 상태(Alertable State), APC(Asynchronous Procedure Call) 알림 가능한 상태(Alertable State), APC(Asynchronous Procedure Call) ⊙ 알림 가능한 상태(Alertable State) A가 I/O 요청했다. 이 I/O가 연산이 끝나면 CompletionRoutine 함수를 호출한다. 즉, A I/O 작업이 끝나면 자동적으로 CompletionRoutine 함수 시작될 것이기 때문에 A..
뇌를 자극하는 윈도우즈 시스템 책 관련 YouTube 강의 내용 정리이다. 저번 시간에 이어 중첩(Overlapped) I/O 부분을 정리하겠다. YouTube 주소 : 중첩(Overlapped) I/O 중첩(Overlapped) I/O 저번 시간에 배운 I/O 모델의 구현 방법에 대해 배워보겠다. 먼저 배울 것은 중첩 I/O 구현 모델이다. 중첩 I/O를 구현하기 위해선, 위에 그림을 머릿속에 떠올리는 것이 좋다. 이를 이렇게 정리하지 않으면 어떻게 해야할지 혼란스러울 때가 많기 때문이다. 중첩 I/O를 구현하기 위한 첫번째 포인트는 일반적인 I/O함수를 호출하는 것이다. 여기서는 WriteFile함수를 쓰면 된다. WriteFile함수의 전달 인자를 보면 OVERLAPPED 구조체가 있다. 이 인자는..
뇌를 자극하는 윈도우즈 시스템 프로그래밍 책 관련 유투브 강의 정리이다. 저번 시간에 이어 비동기 I/O에 대해 정리를 계속하겠다. YouTube 주소 : 비동기 I/O의 이해 비동기 I/O의 이해 우리가 이제껏 다룬 내용은 전부 동기 I/O이다. ⊙ 동기 I/O? write라는 함수가 있다. 이는 데이터를 보내는 함수이다. 이 함수를 호출하는 순간 데이터의 전송이 시작된다. wirte 함수가 끝나는 순간은 데이터 전송이 끝나는 순간이다. 즉, 함수의 호출과 데이터 전송이 동기화, 함수의 반환과 전송의 끝이 동기화 되어있다. 이게 바로 동기화 I/O이다. 그럼 비동기는 무엇일까 ⊙ 비동기 I/O? wirte 함수를 호출하여 데이터 전송이 시작하는 것 까지는 똑같다. 하지만 함수를 반환하는 시점이 데이터 ..
뇌를 자극하는 윈도우즈 시스템 프로그래밍 책 관련 YouTube 강의 정리이다. 오늘 정리할 부분은 비동기 I/O와 APP 파트이다. YouTube 주소 : 비동기 I/O와 APP 비동기 I/O와 APP 비동기 I/O 에 대해 공부하기 앞서 I/O와 CPU 클럭의 관계에 대해 알아보겠다. ⊙ I/O와 CPU 클럭의 관계 일반적으로 CPU 클럭이 높아지면, 높은 퍼포머스를 보여준다. I/O도 일반적으로 클럭 속도가 빠르면 빨리진다. 하지만 실제 I/O는 CPU 클럭과는 별도로 BUS 클럭에 의존도가 높다. 보편적으로 시스템 디자인 시, CPU 클럭이 높으면 그만큼 I/O 클럭(bus 클럭)이 높은것이 일반적이다. 그렇다면 I/O 클럭을 포함하는 CPU클럭, 즉, 시스템 클럭이 I/O와 어떤 관계를 갖을까?..
뇌를 자극하는 윈도우즈 시스템 프로그래밍 책 관련 유투므 강의 내용 정리이다. 오늘 정리할 내용은 Dynamic Linking Library 이다. YouTube 주소 : Dynamic Linking Library Dynamic Linking Library C 런타임 라이브러리 설정 우리가 보통 c런타임에 사용하는 printf 등은 라이브러리에서 제공받는다. ⊙ Static Library vs DLL - 정적 라이브러리 정적으로 라이브러리를 링크하면 실행 파일에 라이브러리가 들어가는 것이다. 똑같은 라이브러리 임에도 불구하고 세개의 실행파일이 다르기 때문에 각각이 라이브러리를 저장하고 있다. - DLL 라이브러리를 가지고 있지 않고, 하나의 라이브러리를 실행 파일이 공유하는 방식이다. 공유하려면 실행파일..