返回

操作系统笔记01-计算机系统概述

操作系统的定义

  • 操作系统负责协调硬件、软件等计算机资源的工作
  • 操作系统为上层、应用程序提供简单易用的服务
  • 操作系统是一种系统软件

操作系统的功能和目标

操作系统的功能⭐

  • 处理器管理
  • 存储管理
  • 文件管理
  • 设备管理
  • 用户接口
  • 网络与通信管理

向上层提供服务

封装思想:操作系统把一些硬件功能封装成简单易用的服务,使用户能更方便地使用计算机,用户无需关心底层硬件的原理,只需要对操作系统发出命令即可。

普通用户

  • GUI用户图形界面
  • 命令接口
    • 联机命令接口(交互式命令接口):用户说一句, 系统跟着做一句。如:cmd
    • 脱机命令接口(批处理命令接口):用户说一堆, 系统跟着做一堆。如:*.bat文件。

软件/程序员

  • 程序接口(系统调用):可以在程序中进行系统调用来使用程序接口。普通用户不能直接使用程序接口,只能通过程序代码间接使用。

用户可以通过GUI或命令接口来直接使用操作系统提供的功能;也可以通过应用程序间接使用操作系统提供的功能。

应用程序只能通过系统调用的方式请求操作系统服务。

扩展硬件机器

  • 扩充机器:操作系统对硬件机器进行拓展:将CPU、内存、磁盘、显示器、键盘等硬件合理地组织起来,让各种硬件能够相互协调配合,实现更多更复杂的功能。

小结

操作系统的特征⭐

并发

并发:指两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但微观上是交替发生的。 易混概念——并行:指两个或多个事件在同一时刻同时发生。

操作系统的并发性指计算机系统中“同时”运行着多个程序,这些程序宏观上看是同时运行着的,而微观上看是交替运行的。

单核CPU同一时刻只能执行一个程序,各个程序只能并发地执行。 多核CPU同一时刻可以同时执行多个程序,多个程序可以并行地执行。

并发性是操作系统一个最基本的特性

共享

共享即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用

两种资源共享方式

互斥共享方式

系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段内只允许一个进程访问该资源

同时共享方式

系统中的某些资源,允许一个时间段内由多个进程“同时”对它们进行访问

  • 所谓的“同时”往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问的(即分时共享)

生活实例:

互斥共享方式:使用QQ和微信视频。同一时间段内摄像头只能分配给其中一个进程。

同时共享方式:使用QQ发送文件A,同时使用微信发送文件B。宏观上看,两边都在同时读取并发送文件,说明两个进程都在访问硬盘资源,从中读取数据。而在微观上看,两个进程是交替访问硬盘的。

并发和共享的关系

并发性指计算机系统中同时存在着多个运行着的程序。 共享性指系统中的资源可供内存中多个并发执行的进程共同使用。

如果失去并发性,则系统中只有一个程序正在运行,则共享性失去存在的意义;如果失去共享性,则并发程序不能同时访问硬盘资源,也就无法并发。

因此,并发性与共享性互为存在条件

虚拟

虚拟是指把一个物理上的实体变为若干个逻辑上的对应物。物理实体(前者)是实际存在的,而逻辑上对应物(后者)是用户感受到的。

虚拟技术

  • 空分复用技术(虚拟存储器):内存——硬盘系统一定程度上解决了内存容量不够的问题
  • 时分复用技术(虚拟处理器):微观上处理机在各个微小的时间段内交替着为各个进程服务

如果失去了并发性,则一个时间段内系统中只运行一道程序,那么就失去了实现虚拟性的意义了。因此,没有并发性,就谈不上虚拟性

异步

异步是指在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。

由于并发运行的程序会争抢着使用系统资源,而系统中的资源有限,因此进程的执行不是一贯到底的,而是走走停停的,以不可预知的速度向前推进。

如果失去了并发性,即系统只能串行地运行各个程序,那么每个程序的执行会一贯到底。只有系统拥有并发性,才有可能导致异步性

小结

操作系统的发展与分类⭐⭐

操作系统的运行机制⭐⭐

CPU中有一个程序状态字寄存器(PSW),其中有个二进制位,可以表示当前CPU运行的状态是内核态还是用户态。

中断和异常⭐⭐

CPU上会运行两种程序,一种是操作系统内核程序,一种是应用程序

在合适的情况下,操作系统内核会把CPU的使用权主动让给应用程序。

中断会使CPU由用户态变为内核态,使操作系统重新夺回对CPU的控制权。

内中断(异常)

内中断也称异常。异常与当前执行的指令有关,中断信号来自CPU内部

例如:应用程序执行陷入指令,会主动将CPU控制权还给操作系统内核。 “系统调用”就是通过陷入指令完成。

此外,异常还包括缺页故障、整数除0、非法使用特权指令等

外中断(中断)

外中断也称中断。中断与当前执行的指令无关,中断信号来自CPU外部

例如:

  • 时钟中断——由时钟部件发来的中断信号
  • I/O中断——由输入/输出设备发来的中断信号

每一条指令执行结束时,CPU都会例行检查是否有外中断信号。

CPU的中断机制实现原理,可见计算机组成原理

小结

系统调用⭐

操作系统作为用户和计算机硬件之间的接口,需要向上提供一些简单易用的服务。主要包括命令接口程序接口。其中,程序接口由一组系统调用组成。应用程序可以通过系统调用来请求获得操作系统内核的服务

编程语言可将系统调用封装成库函数。

凡是与共享资源有关的操作(如存储分配、I/O操作、文件管理等),都必须通过系统调用的方式向操作系统内核提出服务请求,由操作系统内核代为完成。这样可以保证系统的稳定性和安全性,防止用户进行非法操作。

比如:两个进程同时通过系统调用,向操作系统内核发出请求使用打印机这种共享资源,操作系统内核会协调两个进程使用打印机,防止混乱发生。

操作系统的体系结构

非内核与内核

大内核与微内核⭐

微内核只包括时钟管理、中断处理、原语(设备驱动、CPU切换)等与硬件联系紧密的功能。

大内核除了拥有微内核提供的功能外,还包括进程/存储器/设备管理等功能,这些功能更多的是对数据结构的操作,不会直接涉及硬件。

小结

最后更新于 Mar 31, 2022 16:52 UTC
Built with Hugo
Theme Stack designed by Jimmy