본문 바로가기

CS 공부2

컴퓨터 구조 개요와 CPU 컴퓨터가 이해하는 정보컴퓨터는 크게 데이터와 명령어 두 가지를 이해하며 작동한다!! 우리가 고급 언어로 코드를 짜면 이를 컴파일 또는 인터프리트하여 저급 언어로 변환하고,이해한 코드를 바탕으로 작동하게 된다!!고급 언어우리가 이해할 수 있는 형태로 작성된 프로그래밍 언어들, C언어, JAVA, Python 등등저급 언어컴퓨터가 이해할 수 있는 형태의, 즉 0과 1의 이진 데이터를 바탕으로 쓰인 언어들, 기계어와 어셈블리어1) 데이터숫자, 문자, 이미지, 동영상 같은 정적인 정보컴퓨터와 주고받는 정보 또는 컴퓨터 내부에 저장된 정보 등을 통칭2) 명령어컴퓨터를 실질적으로 움직이는 정보, 데이터는 명령어를 위한 일종의 재료인 셈이다!!크게 연산 코드와 오퍼랜드로 구성된다!!2-1) 연산 코드와 오퍼랜드연산 .. 2025. 1. 5.
IOCP 겉핡기 - Blocking과 Non-blocking I/O, Multiplexing, IOCP 오늘은 코드 상에서 직접 작동하는 과정을 알아보기보단, 좀 친숙하게 접근해보려 한다!! 뭐하는 넘인지 감을 잡기 위한 겉핡기 공부!! 그 주인공은 IOCP다!!  IOCP는 비동기 입출력 처리 기법의 일종으로, 특히 우리는 서버 개발, 그 중에서도 소켓 프로그래밍을 구현하면서 이 기법을 알게 모르게 활용하게 될 것이다!! 하지만 주인공을 만나보기 전에 알아야할 몇몇 개념들이 있으니, 차근차근 알아보도록 하자구!! 먼저 동기 입출력 방식을 살펴보고, 왜 서버 개발엔 썩 적절하지 않은지 고찰해볼 예정이구, 그 대안으로 비동기 입출력 방식을 알아보고, 그래도 남아있는 미흡한 점에 대해 고민해볼 것이다!! 그리고 이를 보완해주는 오늘의 주인공 IOCP를 알아보며 마무리하는 것이다!!Blocking I/O 동기 .. 2024. 12. 23.