728x90

😒 저 저 저 개념없는 나/🍎 Linux 3

[Linux | C] memset 함수

void* memset(void* ptr, int value, size_t num); - ptr : 채우고자 하는 메모리의 시작 포인터 (시작주소) - value : 메모리에 채우고자 하는 값, int 형으로 선언되어 있지만 내부에서는 unsigned char로 변환되어서 저장된다. - num 채우고자 하는 바이트의 수 == 채우고자 하는 메모리의 크기 ex) pingpong 구현 中 memset(buf, 0x00, BUF_SIZE); => 버퍼에 buffer size 크기만큼 0을 저장한다.

[Linux] System call 작동 원리, 동작 예시

System call 응용 프로그램에서 운영체제에게 기능을 수행해달라고 요청하는 하나의 수단. user processor가 소프트웨어 인터럽트를 통해 커널의 기능을 이용하기 위한 서비스를 요청하는 하나의 방법. 소프트웨어 인터럽트 커널 영역의 기능을 사용자 모드가 사용 가능하게, 즉 프로세스가 하드웨어에 직접 접근해서 필요한 기능을 사용할 수 있게 해준다. 각 시스템 콜에는 고유한 번호가 할당되고 시스템 콜 인터페이스는 이러한 번호에 따라 인덱스 되는 테이블(IDT)을 유지된다 IDT (Interrupt Descriptor Table) 테이블 리눅스에서는 인터럽트 처리를 위해서 IDT를 사용하는데 각 인터럽트를 처리하기 위한 서비스 루틴을 함수로 구현해두고, 각 함수의 시작점 주소(handler fucn..

728x90