본문 바로가기
반응형

POSIX2

[C언어] 리눅스 Time과 Clock의 종류와 POSIX Clocks 리눅스 Time의 종류Wall time (real time)실제, 절대적인 시간Monotonic time선형적으로 일정하게 계속 증가하는 시간 (시스템 부팅 이후 시간)Process time프로세스가 사용자 코드에서 작업을 수행하거나, 커널이 그 프로세스를 대신해서 작업하는데 걸린 시간Wall time보다 적으며, 멀티태스킹 중 사용되지 않은 시간은 제외됨Hardware Clocks소프트웨어 클록보다 더 정확하고 빠른 하드웨어 클록Real Time Clock (RTC)배터리 기반 클록High Precision Event Timer (HPET)추가적인 인터럽트가 가능하여 시그널 등을 이용할 수 있음Time Stamp Counter (TSC)64비트 레지스터 (x86 프로세서)CPU 코어의 사이클 횟수를 측.. 2025. 3. 2.
[C언어] 다중화된 입출력(Multiplexed IO) 관련 시스템 콜(System call) Multiplexed I/OMultiplexed I/O는 하나의 프로세스가 여러 개의 I/O 작업(파일, 소켓, 디바이스 등)을 동시에 처리할 수 있도록 하는 기술이다. 이를 통해 비동기적으로 여러 데이터 소스를 효율적으로 관리할 수 있다.단일 프로세스는 1개 이상의 파일 디스크립터(fd)를 동시에 블로킹할 수 없다. 따라서 read() 함수가 호출될 경우, 해당 파일에 데이터가 없으면 다음과 같은 동작을 수행한다.일반 파일: read()는 0을 반환하며, 이는 EOF(End of File) 상태를 의미한다.파이프, 소켓, FIFO: 기본적으로 블로킹 동작을 수행하며, 데이터가 준비될 때까지 대기하므로 다른 fd에 대한 처리가 불가능하다.이러한 한계를 극복하기 위해 I/O Multiplexing이 사용된.. 2025. 3. 2.