Linux
-
커널 타이머 관리Linux/Linux Kernel 2020. 8. 16. 17:02
동적 타이머 동적 타이머 실행 흐름 1. 동적 타이머 초기화 timer_setup() 2. 동적 타이머 등록 add_timer() mod_timer() 동적 타이머를 per_cpu 타입인 timer_bases 전역변수에 등록한다. 3. 동적 타이머 실행 run_timer_softirq() __run_timers() __collect_expired_timers() call_timer_fn() Soft IRQ 타이머 서비스에서 동적 타이머를 실행한다. 1) arch_timer_handler_phy() 타이머 인터럽트가 발생하면 타이머 인터럽트 핸들러인 arch_timer_handler_phy() 함수가 실행된다. 타이머 인터럽트는 1초에 HZ만큼 발생한다. 2) run_local_timers() 현재 CPU..
-
가상 파일 시스템Linux/Linux Kernel 2020. 8. 16. 17:01
가상 파일 시스템이란? 가상 파일 시스템은 파일 시스템 인터페이스를 사용자 어플리케이션에 제공하준다. 즉, 가상 파일 시스템만 있으면 어떤 파일 시스템으로 관리하는 파일이라도 읽고 쓸 수가 있다는 것이다. 가상 파일 시스템이 왜 필요할까? 바로 파일 시스템 종류가 많기 때문이다. 파일 시스템마다 자신만의 읽고 쓰는 함수가 존재한다면 사용자 어플리케이션에서는 사용하기 힘들다. 예를 들어 FAT-32 파일 시스템을 사용하는 SD카드(/mnt/sd)에 있는 source라는 파일을 리눅스의 EXT3 파일 시스템을 사용하는 /tmp 디렉터리에 target 이름으로 복사하려면 어떻게 해야할까? 벌써부터 머리가 아프다. 비록 FAT32와 EXT3의 파일 시스템 형식은 서로 다르지만 동일한 open() 함수를 이용하여..