본문 바로가기

전체 글49

APC와 Alertable wait 상태에 대한 정리 최근 Overlapped IO 모델에 대해 강의를 듣는 도중 스레드의 Alertable Wait 이라는 상태에 대해 듣게 되었다. Overlapped 모델에 대한 내용이 주 였기 때문에 구체적인 설명은 듣지 못하였기에, 글을 쓰며 해당 내용에 조금 정리해보는 시간을 가지려한다. 스레드의 Alertable Wait 상태에 대해서 알기 위해서는 일단 APC에 대해서 이해해야한다. APC는 Asynchronous Procedure Call의 약자로서, 우리가 일반적으로 아는 함수 호출이 Synchronous Procedure Call 이었다면 반대로 비동기적으로 실행되는 함수호출을 의미한다. APC 함수의 형식은 다음과 같다 VOID CALLBACK APCProc(ULONG_PTR dwParam); 우리가 일.. 2021. 12. 29.
Non-Blocking 에 대한 정의 소켓 생성시 default 모드는 blocking socket이다. non-blocking 용어에 대해 처음 접한다면 생소한 용어이겠지만 일반적으로 소켓 프로그래밍에 사용되는 함수들은 처리될때까지 소켓의 진행을 막을 수 (block) 있는 시스템 콜이기 때문에 비동기적인 작업 수행이 불가능 하게 된다. 하지만 Non-Blocking Socket으로 선언시 네트워크 시스템이 즉시 응답할 수 없는 경우에도 OS는 작업의 완료 여부와 상관없이 응답을 해준다. 이는 시스템 콜을 받자마자 제어권을 다시 유저에게 넘겨 준다는 것이기에, 유저 프로세스는 IO 가 완료 되기 전에도 다른 작업을 수행할 수 있음을 의미한다. +) 물론 일반적인 send,recv 함수 입장에서는 멈추어 있어야 할 소켓이 사용자의 명령에 의.. 2021. 12. 29.
Socket Programming 간단한 실습 C로 작성된 Socket Programming 실습 코드이다. client에서 루프백 어드레스(로컬 호스트)를 통해 소켓을 보내고 서버에서 수신하는 간단한 코드이다. 코드를 실습해보며 윈도우에서 제공하는 소켓이 어떻게 구성되었는지, 송수신과정에서 소켓이 어떤 역할을 하는지 알 수 있다. 소켓 프로그래밍에 필요한 함수, 라이브러리등은 microsoft docs에서 많은 정보를 얻을 수 있다. https://docs.microsoft.com/en-us/windows/win32/api/winsock/nf-winsock-wsastartup WSAStartup function (winsock.h) - Win32 apps Initiates use of the Winsock DLL by a process. docs... 2021. 12. 27.
43회 SQLD (SQL 개발자) 자격 시험 합격 후기 43회 SQLD 자격시험에 응시하여 합격하였습니다 :) 제가 시험을 준비하는 과정에서 다른 분들의 포스팅에 많은 도움을 받았듯이 다른 분들에게도 큰 도움이 되었으면 하여 합격 후기를 포스팅합니다. 준비과정 시험 준비이전 저의 배경지식은 다음과 같습니다. * 4년제 소프트웨어학과 졸업예정 * 데이터베이스 전공과목 수강경험 * sql lite, mysql 사용 경험 (토이 프로젝트) sql을 프로젝트에서 짧게 사용해본 경험이 있는것과 SQLD의 시험을 치루는데에는 큰 차이가 있었습니다. 전공과목에서 A+를 받았지만 3년이 지났으니 복습을 하지 않아 배경지식으로 삼기에도 너무 오래된 지식이었구요. 다른분들은 전공자분들에게 2주 정도의 준비기간을 추천했지만 저는 하루 3시간씩 총 한달간의 공부기간을 잡고 시험을.. 2021. 12. 21.