Linux/kernel
-
[리눅스 커널] DMA - cache consistencyLinux/kernel 2023. 12. 6. 12:37
글의 참고 - https://zhuanlan.zhihu.com/p/109919756 - https://zhuanlan.zhihu.com/p/508439396 - https://zhuanlan.zhihu.com/p/515450647 - http://15418.courses.cs.cmu.edu/spring2013/article/21 - https://blog.csdn.net/Adrian503/article/details/115536886 글의 전제 - 밑줄로 작성된 글은 강조 표시를 의미한다. - 그림 출처는 항시 그림 아래에 표시했다. 글의 내용 - Overview " DMA 와 Cache 의 관계는 뭘까? 이걸 이해하기 위해서는 예를 하나 들어보자. 일반적으로, CPU 에 수정된 데이터들은 메모리가 아닌..
-
[리눅스 커널] pinctrl - overviewLinux/kernel 2023. 12. 4. 01:11
글의 참고 - http://www.wowotech.net/gpio_subsystem/io-port-control.html 글의 전제 - 밑줄로 작성된 글은 강조 표시를 의미한다. - 그림 출처는 항시 그림 아래에 표시했다. 글의 내용 - Overview " embedded system engineer 로서 처음 일을 시작했을 때, 맡는 작업들은 대개 GPIO, button, LED 컨트롤 같은 작업들이다. 이러한 작업들의 공통점은 `쉬워보인다` 는 점이다. 물론, 앞에 언급된 디바이스들에 대한 드라이버가 이미 작성되어 있다면 `쉽다` 라는 표현이 맞을것이다. 그러나, 디바이스 드라이버를 작성해야 한다면 그게 어떤 OS 라 할지라도 혹은 bare metal 및 firmware 라면 얘기가 달라진다. 리눅스..
-
[리눅스 커널] DMA - overviewLinux/kernel 2023. 12. 1. 21:33
글의 참고 - Linux Device Drivers, Third Edition - https://docs.kernel.org/core-api/dma-api-howto.html - https://www.jianshu.com/p/e1b622234d13 - http://www.wowotech.net/linux_kenrel/dma_engine_overview.html - https://www.bilibili.com/read/cv21554003/ - http://www.wowotech.net/linux_kenrel/dma_engine_api.html - http://www.wowotech.net/memory_management/DMA-Mapping-api.html - https://blog.csdn.net/wei..
-
[리눅스 커널] DD - character deviceLinux/kernel 2023. 11. 29. 20:10
글의 참고 - https://lwn.net/Articles/195805/ - https://blog.csdn.net/lxllinux/article/details/81777707 - https://sketch2sky.com/2017/09/29/linux-%E8%AE%BE%E5%A4%87%E5%8F%B7%E7%AE%A1%E7%90%86-ii/ - https://olegkutkov.me/2018/03/14/simple-linux-character-device-driver/ - https://blog.csdn.net/m0_50662680/article/details/129759120 - https://zhuanlan.zhihu.com/p/577974561 - https://blog.csdn.net/m0_7428..
-
[리눅스 커널] Scheduler - process address space switchingLinux/kernel 2023. 11. 21. 20:43
글의 참고- http://www.wowotech.net/process_management/context-switch-tlb.html- http://www.wowotech.net/memory_management/tlb-flush.html- https://www.cnblogs.com/sky-heaven/p/17735177.html- https://zhuanlan.zhihu.com/p/540717796- https://zhuanlan.zhihu.com/p/528760035- https://www.halolinux.us/kernel-reference/tlb-mode-mechanism-it-is-usually-invoked-whenever-the-kernel-modifies-a-page-table-entry-re..
-
[리눅스 커널] Scheduler - process switchingLinux/kernel 2023. 11. 21. 15:53
글의 참고 - http://www.wowotech.net/process_management/context-switch-arch.html - https://www.kernel.org/doc/gorman/html/understand/understand006.html 글의 전제 - 밑줄로 작성된 글은 강조 표시를 의미한다. - 그림 출처는 항시 그림 아래에 표시했다. 글의 내용 - Overview " 대학생 시절, 운영 체제 시간에 context 라는 단어가 감이 잡히질 않았다(사실, 지금도 모름). 그런데, 거기다가 context switch 라는 말은 더 이해가 안갔고, 한국어로 번역하면 `문맥 교환` 인데, 정말 최악이라 생각했다. 개인적으로 이걸 알려면, 이 용어를 만들어논 놈들의 코드를 뜯어보면 알 ..
-
[리눅스 커널] Synchronization - tranditional lockingLinux/kernel 2023. 11. 17. 03:22
글의 참고 - https://www.cs.utexas.edu/~pingali/CS378/2015sp/lectures/Spinlocks%20and%20Read-Write%20Locks.htm - https://kernelnewbies.org/SMPSynchronisation - http://www.wowotech.net/kernel_synchronization/445.html - https://community.arm.com/support-forums/f/architectures-and-processors-forum/4273/how-to-understand-armv8-sevl-instruction-in-spin-lock - https://zenn.dev/junkawa/articles/fuchsia-zirc..
-
[리눅스 커널] Interrupt - ARMv7 interrupt handling processLinux/kernel 2023. 11. 14. 18:10
글의 참고 - https://people.kernel.org/linusw/setting-up-the-arm32-architecture-part-1 - https://people.kernel.org/linusw/setting-up-the-arm32-architecture-part-2 - https://stackoverflow.com/questions/36649551/vectors-page-mapping-in-linux-for-arm - http://www.wowotech.net/irq_subsystem/irq_handler.html - https://zhuanlan.zhihu.com/p/363148708?utm_id=0 글의 전제 - 밑줄로 작성된 글은 강조 표시를 의미한다. - 그림 출처는 항시 그림 아..