计算机系统
计算机系统中的操作系统
计算机系统可以大致分为四个组件:硬件、操作系统、应用程序和用户。操作系统是一直运行在计算机上的程序(通常称为内核),除了内核外还有系统程序和应用程序,系统程序是与系统运行有关的程序但不属于内核的一部分,应用程序是与系统运行无关的程序 。
计算机系统的运行
计算机系统的运行流程图
操作系统的结构
操作系统的服务
用于提供用户功能的服务:
- 用户界面:命令行 & 批处理 & 图形用户界面。
- 程序执行:系统应能加载程序到内存,并加以运行,且能结束运行(包括正常与不正常)。
- I/O操作:程序运行可能需要I/O,这些I/O可能涉及文件或设备,操作系统应提供手段以执行I/O。
- 文件系统操作:操作系统提供文件系统以供用户操作目录和文件等。
- 通信:进程与进程之间的通信可能发生在运行于同一台计算机的两个进程之间,也可能发生在通过网络连接的不同计算机的进程之间。
- 错误检测:操作系统需要不断检测错误和更正错误。
确保系统本身运行高效的服务:
- 资源分配:操作系统管理资源,当多个用户或多个作业同时运行时,每个都应分配资源。
- 记账:记录用户使用资源的类型和数量,这种记录可用于记账或统计使用量,统计使用量可用于重新配置系统以提高计算服务。
- 保护与安全:若一个系统需要保护和安全,则系统的所有部分都需要预防,一条链的强度在于其最弱的环节。
操作系统服务视图
系统调用
系统调用(System Call)提供操作系统服务接口,是由内核提供的功能十分强大的一系列函数,系统调用是在内核中实现的,因此若用户程序调用了系统调用需要从用户模式转为内核模式。
应用编程接口(Application Programming Interface,API),API为方便程序开发人员规定了一组函数,包括每个函数的输入参数和返回值。程序员通过操作系统提供的函数库来调用API,在后台API函数通常为程序员调用实际的系统调用。
操作系统的模式
为了确保操作系统正确的运行,必须区分操作系统代码和用户代码的执行模式。至少需要两种模式:用户模式(模式位为1)和内核模式(模式位为0)。
当系统引导时,硬件从内核模式开始。操作系统被加载到内存并执行后,操作系统进行控制,当控制转交给一个用户应用时,开始在用户模式下执行用户程序;
一旦有中断或陷阱,硬件会从用户模式切换到内核模式;用户通过系统调用请求系统服务时,系统也会从用户模式切换到内核模式,用户模式到内核模式的切换图如下所示:
操作系统的结构
参考技术书籍:《操作系统概念》