操作系统的概念(定义)
操作系统(Operating System,OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境,它是计算机系统中最基本的系统软件。
任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。在整个计算机软硬件架构中,操作系统的定位是: 一款进行软硬件资源管理,一款纯正的“搞管理”的软件。
直观的例子:打开Windows 操作系统的“任务管理器”(快捷键: Ctrl+Alt+Del )
为什么引入操作系统
方便用户编程及操作、管理计算机的软硬件资源、提高资源的利用率。
操作系统的架构图
操作系统的功能和目标
① 操作系统作为系统资源的管理者(这些资源包括软件、硬件、文件等),需要提供什么功能?
② 操作系统作为用户与计算机硬件之间的接口,要为上层的用户、应用程序提供简单易用的服务,需要实现什么功能?
③ 操作系统作为最接近硬件的层次,需要在纯硬件的基础上实现什么功能?
作为系统资源的管理者
操作系统作为系统资源的管理者提供了:
- 处理机管理
- 存储器管理
- 文件管理
- 设备管理
比如:
进程是一个程序的执行过程。执行前需要将该程序放到内存中,才能被CPU处理。
作为用户与计算机硬件之间的接口
-
命令接口:允许用户直接使用
-
联机命令接口
-
联机命令接口 = 交互式命令接口(特点:用户说一句,系统跟着做一句)
-
Step 1:win键 + R
-
Step 2:输入cmd,按回车,打开命令解释器
-
Step 3:尝试使用 time 命令
-
-
-
案例:Linux命令行
-
-
脱机命令接口
-
脱机命令接口 = 批处理命令接口(特点:用户说一堆,系统跟着做一堆)
-
使用windows系统的搜索功能,搜索C盘中的 *.bat 文件,用记事本任意打开一个
-
-
-
Linux的 shell 脚本
-
-
-
程序接口:允许用户通过程序间接使用
-
可以在程序中进行 系统调用 来使用程序接口。普通用户不能直接使用程序接口,只能通过程序代码 间接 使用。
-
如:写C语言“hello world”程序时,在printf函数的底层就使用到了操作系统提供的显示相关的“系统调用”
-
- 系统调用类似于函数调用,是应用程序请求操作系统服务的唯一方式
- 在有些教材中:系统调用 = 广义指令
-
-
GUI:现代操作系统中最流行的图像用户接口
- 用户可以使用形象的图形界面进行操作,而不是需要记忆复杂的命令、参数。
- 例如:在Windows操作系统中删除一个文件,只需要把文件“拖拽”到回收站即可。
最接近硬件的层次
需要实现对硬件机器的扩展
没有任何软件支持的计算机成为裸机。在裸机上安装的操作系统,可以提供资源管理功能和方便用户的服务功能,将裸机改造成功能更强、使用更方便的机器。
通常把覆盖了软件的机器成为扩充机器,又称之为虚拟机。
类比汽车:
发动机- -- -只会转;轮胎- --只会滚;
在原始的硬件机器上覆盖一层传动系统 -- 让发动机带着轮子转 -- 使原始的硬件机器得到拓展
操作系统对硬件机器的拓展:将CPU、 内存、磁盘、显示器、键盘等硬件合理地组织起来,让各种硬件能够相互协调配合,实现更多更复杂的功能
操作系统的构成
计算机系统软件构成
狭义操作系:操作系统内核(如win32k.sys、各驱动程序*.sys)。
广义操作系统:还包含命令解释器/程序管理器和系统调用库,及许多的实用程序、库程序。
计算机系统硬件层面
操作系统在没有运行的时候放在磁盘上,运行的时候放在内存中。
操作系统的作用
在内核中的作用
-
操作系统作为特殊子程序;
-
操作系统提供服务
-
操作系统内核为用户程序提供了系统服务。
- 操作系统内核为用户程序提供系统服务的方式是通过系统调用(system call)。系统调用是用户程序与操作系统内核之间的接口,用户程序可以通过系统调用请求内核执行特定的操作,如文件读写、进程创建、网络通信等。
-
系统调用是安全的涉及共享资源的公共子程序调用。
- 权限控制:系统调用可以对用户程序的权限进行控制,确保只有经过授权的程序能够访问和操作共享资源。操作系统内核会验证用户程序的权限,并根据权限规则来执行相应的操作,从而保证安全性。
- 资源隔离:操作系统内核通过系统调用提供的接口,将共享资源进行隔离,防止不同用户程序之间相互干扰或者恶意篡改。内核会对每个用户程序的系统调用进行独立处理,保证资源的安全性和稳定性。
- 资源隔离:操作系统内核通过系统调用提供的接口,将共享资源进行隔离,防止不同用户程序之间相互干扰或者恶意篡改。内核会对每个用户程序的系统调用进行独立处理,保证资源的安全性和稳定性。
- 资源隔离:操作系统内核通过系统调用提供的接口,将共享资源进行隔离,防止不同用户程序之间相互干扰或者恶意篡改。内核会对每个用户程序的系统调用进行独立处理,保证资源的安全性和稳定性。
- 综上所述,系统调用作为操作系统内核提供的安全接口,确保用户程序在访问和操作共享资源时能够进行权限控制、资源隔离、错误处理和访问控制,从而保证共享资源的安全性和稳定性。
- 系统调用和普通的函数调用不一样,普通的函数调用不会改变处理机的状态,系统调用会将处理机的状态由用户态变成内核态。
-
-
-
操作系统作为资源管理者;
-
资源管理者管理的是哪些资源?
-
-
资源管理者还有哪些功能呢?
-
可以协调多个任务对资源的使用,让计算机资源被多任务同时使用
-
-
-
硬件资源共享使用的方法有两种:
-
空分(Space Division):针对存储资源而言。存储资源的空间可以被多个用户(程序)以分割的方式占用。
- 空分是针对存储资源而言的一种策略。它指的是将存储资源的空间划分为多个部分,每个部分可以被不同的用户或程序独立占用。每个用户或程序在自己的空间中进行操作,彼此之间相互隔离,互不干扰。这种方式可以提高资源的利用率,多个用户或程序可以共享存储资源,而不会相互影响。
-
时分(Time Division):由多个用户任务分时地用该资源,除了处理机资源外,还有很多其它的资源也必须分时地使用,如键盘、网卡等。时分---独占式和非独占式。
-
空分是针对存储资源而言的一种策略。它指的是将存储资源的空间划分为多个部分,每个部分可以被不同的用户或程序独立占用。每个用户或程序在自己的空间中进行操作,彼此之间相互隔离,互不干扰。这种方式可以提高资源的利用率,多个用户或程序可以共享存储资源,而不会相互影响。
-
独占式(Exclusive Time Division):在独占式时分中,每个用户或任务在自己的时间片内独占地使用资源,其他用户或任务需要等待。这种方式保证了每个用户或任务在自己的时间片内能够充分利用资源,但可能会导致资源的浪费,因为某些时间片内资源可能没有被充分利用。
- 独占表示某用户任务占用该资源后,执行了对资源的多个操作,使用了一个逻辑完整的周期。
-
-
非独占式(Non-Exclusive Time Division):在非独占式时分中,多个用户或任务可以同时共享资源的时间片,资源在不同用户或任务之间进行切换。这种方式可以提高资源的利用率,但可能会导致用户或任务之间的竞争和冲突。
- 也就是说用户任务占用该资源无需使用一个逻辑上的完整周期;或者说一次使用就是一个完整周期。
-
-
-
-
分和时分是操作系统中常用的资源管理策略,它们可以根据不同的场景和需求来选择和使用,以提高资源的利用率和系统的性能。
-
-
-
操作系统为程序提供运行机制;简单点讲,就是操作系统组织用户的多任务(以进程方式)使用计算机。
-
-
总结
1、认识操作系统,操作系统的作用和地位。
2、操作系统做为资源管理者提供了哪些服务。
3、提出了并发概念以及进程机制。