功能模块分类
操作系统的功能模块分为以下几个:系统初始化模块、进程管理模块、存储器模块、I/O设备模块、文件管理模块。
操作系统的运行模型
无论是上述的哪一种功能模块,那都是运行在3个运行模式上面。当中断或者异常发生后,CPU切换进入核心模式
目前主要还是采用操作系统嵌入到进程的模式中。
独立内核模式是把操作系统的功能模块运行到单独的系统进程里,而嵌入到进程中之后,操作系统的功能模块和进程集成在一起。
操作系统空间独立于用户进程的用户空间,而且操作系统空间地址不与用户进程空间地址重叠,各占一片连续地址空间的高部与低部。
系统调用(System Call)
从内核态到用户态之间的转换,都需要经过一个接口,这个接口就是系统调用。
外层软件的进程如果需要操作系统的服务(比如获取时间),或者进程需要访问硬件(比如I/0输入系统),都要经过操作系统这一层,所以,操作系统会暴露出接口。每当进程需要这个接口的时候,程序会发送一条trap指令,由trap指令向操作系统发送请求调取接口。