从【操作系统】理解【系统调用】

137 阅读1分钟

功能模块分类

操作系统的功能模块分为以下几个:系统初始化模块、进程管理模块、存储器模块、I/O设备模块、文件管理模块。

操作系统的运行模型

无论是上述的哪一种功能模块,那都是运行在3运行模式上面。当中断或者异常发生后,CPU切换进入核心模式

1739268332719.png

目前主要还是采用操作系统嵌入到进程的模式中。

独立内核模式是把操作系统的功能模块运行到单独的系统进程里,而嵌入到进程中之后,操作系统的功能模块进程集成在一起。

操作系统空间独立于用户进程的用户空间,而且操作系统空间地址不与用户进程空间地址重叠,各占一片连续地址空间的高部与低部。

系统调用(System Call)

内核态用户态之间的转换,都需要经过一个接口,这个接口就是系统调用

外层软件的进程如果需要操作系统的服务(比如获取时间),或者进程需要访问硬件(比如I/0输入系统),都要经过操作系统这一层,所以,操作系统会暴露出接口。每当进程需要这个接口的时候,程序会发送一条trap指令,由trap指令向操作系统发送请求调取接口。