콜백함수함수를 변수처럼 사용하는 개념분기문으로 다른 로직을 담긴 함수들을 선언하여 처리하기 어려운 상황에 유용void make_donut(func f){ //.. f(); //..}make_donut 함수를 사용하고 싶은 프로그래머는 자신이 정의한 현지화 함수를 전달위의 함수 변수를 콜백 함수라고 함일반적으로 인자로 사용되는 콜백 함수는 호출되는 함수를 사용하는 개발자가 작성따라서 콜백함수를 호출하는 것은 보통 다른 모듈 혹은 스레드 비동기 콜백콜백 함수의 처리 속도가 오래걸리는 상황인데 이를 기다려줄 수 없다면?// 호출 스레드make_donut(formed_D); // 아래 작업을 기다려줄 수 없을 때 -> 비동기 콜백함수를 사용하기something_important(); // 기다려..
컴퓨터 과학/[책] 컴퓨터 밑바닥의 비밀
개요운영체제 목적운영체제 없이 프로그램 실행은 가능자동 적재 및 멀티 태스킹 지원프로세스 목적프로그램 동시 실행하기 위해프로세스는 상황정보 저장된 구조체임운영체제는 이 상황정보를 통해 스레드를 효율적으로 할당스레드 목적가용 cpu를 최대한 이용하고자 프로세스 진입함수를 추가로 생성하여 스레드 활용운영체제가 스레드 할당하며 프로세스 일시 중지 및 재시작 가능코루틴 목적동기 프로그래밍으로 비동기 가능하도록코루틴 정의로 함수의 실행 일시 중지 및 재시작 가능 CPUcpu는 메모리에서 명령어를 가져오고 명령어를 실행하는 작업만 할 수 있음 운영체제프로그램을 자동으로 적재, 멀티태스킹을 실현 해주는 역할을 함운영체제가 없어도 cpu가 프로그램을 실행하도록 할 수 있지만 적절한 메모리 영역 찾기, pc 레지스..