摘要:操作系统内核是你永远看不到的。它基本上允许任何其他程序执行。它处理硬件事件(称为中断)、软件事件(称为系统调用)和管理资源的访问。硬件事件处理(中断)会获取到你刚才按下的键,并将按键转化为对应的字符并存在缓冲区中,某些程序就可以在缓冲区里检...
操作系统内核是你永远看不到的。它基本上允许任何其他程序执行。它处理硬件事件(称为中断)、软件事件(称为系统调用)和管理资源的访问。
硬件事件处理(中断)会获取到你刚才按下的键,并将按键转化为对应的字符并存在缓冲区中,某些程序就可以在缓冲区里检索到该字符并判断出你按下的是哪个键。
软件事件处理(系统调用)是由用户级的程序触发的,像打开文件,启动程序等。每一次的系统调用都需要判断传递的参数是否有效,然后执行内部操作完成处理。
大多数的用户程序是不会直接发出系统调用的(个别除外,比如ASM),而是使用标准库,标准库可以格式化内核需要的参数并产生一个系统调用(如:C语言中的函数fopen()最终是调用了内核函数,这才能打开文件)。
内核为了保存最后操作的状态通常定义了一些抽象的文件、进程、套接字、目录等,这也使得内核保存最后状态变的更高效容易。