1.Linux内核
内核是操作系统的核心,具有很多最基本功能,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。
Linux 内核由如下几部分组成:内存管理、进程管理、设备驱动程序、文件系统和网络管理等。如图:
2.从用户空间到操作物理硬件经历了哪些
这里拿C语言库函数open举例。
首先用户空间调用open("/dev/pin4",O_RDWR),此时产生软中断,中断号是0x80,
接下来传递到内核空间,进入系统调用处理入口由sys_call根据设备名找出设备号;
接下来调用VFS(虚拟文件系统)的sys_open函数,此时sys_open函数由传递过来的主设备号和次设备号找到需要调用的驱动函数,此时到了物理层操作,由驱动函数设置寄存器的I/O口高低电平,由此完成了用户空间open函数的执行过程。