[리눅스커널][가상파일시스템] open(): 파일 객체를 오픈할 때 세부 동작

Guillermo Austin Kim|2019년 3월 18일
Posts

[리눅스커널][가상파일시스템] open(): 파일 객체를 오픈할 때 세부 동작

Guillermo Austin Kim|2019년 3월 18일

open(): 파일 객체를 오픈할 때 세부 동작 유저 공간에서 open() 함수를 실행하면 커널 공간에서 다음 그림과 같은 함수 흐름을 확인할 수 있습니다. 위 그림은 유저 공간에서 함수 오픈 오퍼레이션을 실행할 때 함수 실행 흐름입니다. 유저 공간에서 open() 함수를 호출하면 시스템 콜을 발생시켜 실행 흐름이 커널 공간으로 바뀝니다. 이후 open() 함수에 해당하는 시스템 콜 핸들러 함수인 sys_open() 함수가 실행 한 후 ext4 파일시스템에서 관리하는 파일 오픈 함수인 ext4_file_open() 함수를 호출합니다. 이전 절에서 유저 공간에서 read() 혹은 write() 함수를 실행할 때도 위와 비슷한 함수 실행 흐름을 확인했습니다. 파일을 오픈할 때는 read()나 write(

Related Posts

3 posts
AI 열풍인데 버크셔는 왜 부동산 회사 주식을 샀을까

AI 열풍인데 버크셔는 왜 부동산 회사 주식을 샀을까

핵심만 먼저 볼게요 버크셔 해서웨이가 테일러 모리슨을 산 이유는 단순한 홈빌더 인수가 아니에요. 결론부터 말하면, AI와 반도체에 시장이 몰릴 때 버크셔는 미국 주거 공급 병목에 장기 자본을 넣었습니다. 인수 규모는 기업가치 약 85억 달러, 주당 72.50달러 현금, 직전 종가 대비 약 24% 프리미엄입니다. 오픈도어는 단기 수혜 확정보다 빌더 채널 확대 가능성으로 봐야 해요. 반도체가 서버를 짓는 동안, 버크셔는 사람이 살 집을 계산한 셈입니다. AI 칩 뉴스가 계좌를 흔드는 동안, 미국에서는 더 오래된 문제가 다시 숫자로 올라오고 있어요. 바로 집입니다. 상식적으로는 고금리 환경에서 홈빌더를 조심해야 할 것 같은데, 버크셔는 이.......

리눅스 커널, 드디어 6.0 버전대 시대로 진입

며칠 지난 소식이지만, 새로운 10월의 시작과 함께 하듯이 10월 2일 리눅스 커널의 6.0 릴리즈가 등장했습니다. 기존 안정 버전 5.19 버전대에서 6.0 대에서 한 번에 올라왔지만, 메이저 버전업에 기대하는 천지개벽 같은 요소는 그리 없습니다. 버전을 6.0으로 올린 것도 5.19에서 5.20으로 가기에는 서브 버전이 좀 숫자가 크다... 고 해서 올린 의미 정도이니까요. 하지만 지속적으로 진행 중인 변화의 폭 자체는 그리 작지 않습니다. 이번 커널 6.0에서도 최신 하드웨어들에 대한 지원들이 추가되었습니다. 프로세서에서는 3세대 제온 스케일러블 ''아이스 레이크''나 AMD 라이젠 쓰레드리퍼, AMD 에픽 프로세서 등에서의 성능 최적화 등이 적용되었고, 인텔의 차세대 프로세서가 될 4세대 제온 스케일러

[리눅스커널] IPI(Inter Processor Interrupt) Call 요청 루틴(하이 레벨 뷰)

Guillermo Austin Kim|2022년 3월 21일

IPI(Inter Processor Interrupt)의 약자로 지정한 CPU 코어를 타겟으로 인터럽트(소프트웨어적)를 유발하는 매커니즘입니다. 이번 포스트에서는 리눅스 커널에서 IPI Call을 요청하는 루틴을 리뷰하겠습니다. IPI Call은 아키텍처에 의존적으로 처리되므로 하이 레벨과 로우 레벨로 코드가 구현돼 있습니다. * High Level 코드 위치 kernel/sched/core.c kernel/smp.c kernel/irq/ipi.c * Low Level (Arm 아키텍처) 코드 위치 arch/arm64/kernel/smp.c drivers/irqchip/irq-gic-v3.c IPI Call 요청 루틴(하이 레벨) 아래 함수는 Qualcomm Watchdog