大家熟悉的操作系统:Windows、Android、IOS、MacOS、Linux
硬件
如CPU、内存、硬盘
操作系统
应用软件
QQ、IE浏览器等
操作系统(OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调用计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境,它是计算机系统中最基本的系统软件。
补充知识:进程是一个程序的执行过程,执行前需要将该程序放到内存中,才能被CPU处理。
文件管理
文件中找到QQ安装的位置
存储器管理
双击打开QQ(需要将程序数据放入内存)
处理器管理
对应的进程被处机(CPU)处理
设备管理
视频聊天,需要将设备(摄像头)分配给处理机
命令接口:允许用户直接使用
联机命令接口:”用户说一句,系统做一句“
例如通过Win+R运行命令行,一句一句的执行
脱机命令接口:用户说一堆,系统做一堆
通过修改"*.bat"文件,批量处理
程序接口:允许用户通过程序间接使用
由一组系统调用组成(程序接口=系统调用)
例如程序员在程序中调用"user32.dll"
GUI:现代操作系统中最流行的图形用户接口
如Windows、安卓、ios的图形化操作界面
没有任何软件支持的计算机称为裸机。在裸机上安装的操作系统,可以提供资源管理功能和方便用户的服务功能,将裸机改造成功能更强、使用更方便的机器。
通常把覆盖了软件的机器称为扩展机器,又称之为虚拟机。
类比:
硬件:锤子、木锯等
操作系统:木匠
并发是指两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但微观上是交替发生的。
并发的概念容易与并行混淆——指两个或多个事件在同一时刻同时发生。
举例:
操作系统的并发性,是指计算机系统中同时存在着多个运行着的程序。
一个单核CPU同一时刻只能执行一个程序,因此操作系统会负责协调多个程序交替执行(宏观上同时执行、微观上交替执行)
共享即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。
注:所谓的“同时”往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问的(即分时共享)
互斥共享实例:QQ和微信视频聊天
同时共享实例:使用QQ发送文件A、同时使用微信发送文件B。宏观上,两个进程都在访问硬盘资源;微观上,两个进程是交替访问硬盘的。
并发和共享的关系
并发性指计算机系统中同时存在多个运行着的程序。
共享性是指系统中的资源可供内存中多个并发执行的进程共同使用。
举例:
使用QQ发送文件A,使用微信发送文件B
(如果失去并发性,则系统中只有一个程序正在运行,则共享性失去存在的意义
如果失去共享性,则QQ、微信不能同时访问硬盘,就无法实现并发性)
虚拟是指把一个物理上的实体变成若干个逻辑上的对应物。物理实体(前者)是实际存在的,而逻辑上对应物(后者)是用户感受到的。
空分复用技术:同时可以运行的软件容量可以大于内存值;
时分复用技术:单核处理器也可以同时运行多个进程(软件)。
异步是指,在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行并不是一贯到底的,而是走走停停,以不可预知的速度向前推进。
纸带机
缺点:人机速度矛盾,收入输出速度慢
优点;一定程度上缓解了人机速度矛盾
缺点:内存中仅有一道程序运行,CPU资源利用率仍不高。
优点:多道程序并发执行,共享计算机资源。资源利用率大幅提升。
缺点:没有人机交互功能。
计算机以时间片为单位,轮流为各个用户服务。
缺点:不能优先处理一些紧急任务。操作系统对每个用户平等对待。
优点:能够优先响应一些紧急任务,某些紧急任务不需要时间片排队。
实时操作系统处理下,计算机要在严格的时限内处理完事件。
实时操作系统的主要特点是及时性和可靠性。
能把网络中各个计算机结合起来,实现数据传送等功能。(Windows NT)
主要特点是分布性和并发性。
系统中各台计算机地位相同,任何工作都可以分布在这些计算机上,由它们并行、协同完成这个任务。
如Windows 10、MacOS等
指令——CPU能识别、执行的最基本命令
有的指令很普通,例如加减乘除之类的运算指令;(非特权指令)
有的指令有很高的权限,比如内存清零指令,用户不可以随意使用该指令。(特权指令)
CPU如何判断当前是否可以执行特权命令?
(处理器状态放在PSW寄存器中)
例如Windows操作系统,其自带的软件,例如记事本、任务管理器,这些功能并不是必不可少的。所以操作系统也可以细分成内核与非内核功能。
内核是计算机上配置的底层软件,是操作系统最基本、最核心的部分。
内核就可以类比为企业的管理层,用户态和核心态之间的切换相当于普通员工和管理层之间的工作交接。
早期计算机的计算过程是串行执行,系统资源利用率低。
因此人们发明了操作系统,引入中断机制,实现多道程序并发执行。
本质:发生中断意味着需要操作系统介入,开展管理工作。
遗留问题:用户态和核心态之间如何切换?
用户态->核心态:只能通过中断
核心态->用户态:通过执行特权指令,修改程序状态字(PSW)的标志位
操作系统提供给用户的接口分为命令接口和程序接口。
命令接口(允许用户直接使用)
程序接口(允许用户简介使用)
由一组系统调用组成
有些库函数涉及系统调用,有些不涉及(如取绝对值)
注:
程序:就是一个指令序列
程序段、数据段、PCB(进程控制块)三部分组成了进程实体(进程映像)
创建进程,实质上就是创建进程实体中的PCB;
撤销进程,实质上就是撤销进程实体中的PCB。
PCB是进程存在的唯一标志!
PCB
程序段
存放要执行的代码
数据段
存放程序运行过程中处理的数据