一些特性
-
系统几乎一切被当作文件对待(Socket除外)
-
fork()系统调用创建进程
-
简单稳定的进程间通信
初理解系统调用
当一个程序执行一条系统调用时,可以说内核正在代其执行.
可以把系统调用理解为我们去旭日餐厅点炒菜的过程,当程序执行系统调用时,相当通过服务员告诉厨师要做什么菜,这里的服务员就是系统调用界面,厨师就是内核,当厨师完成炒菜后会通过服务员交给我们,也就是用户进程程序得到返回的结果,整个过程完毕。
处理器任意时间的活动概括
- 运行于用户空间执行用户进程
- 运行在内核空间的进程上下文,执行内核进程(当CPU空转时也在运行处于其中的空进程)
- 运行在内核空间的中断上下文,处理中断
一点联想
Linux内核代码(包括其他系统)的设计都应该足够简洁,并被安全可靠地实现来解决现实存在的问题。《代码整洁之道》(Clean Code)这本书应该加入学习计划(又挖坑🤯)