操作系统概述
操作系统的基本概念
操作系统是干什么的?
-
操作系统(位于第三层,承上启下)
-
操作系统是管理计算机硬件与软件资源的计算机程序——OS是一种软件
-
位于硬件资源之上的管理软件的集合叫做操作系统
-
苹果iOS系统
-
-
应用程序(百度 腾讯视频 微信 QQ 火绒)安装在了操作系统里
-
-
硬件(裸机) 磁盘 cpu 操作系统安装在硬件上,获得了硬件的功能,还为软件(应用程序)提供服务(对应接口),向用户提供了访问方式(接口),用户可以直接操作操作系统,对下管理硬件,对上向应用程序提供服务和资源
-
操作系统与硬件交互,应用程序安装在操作系统里,直接与其进行交互
-
os对资源共享进行调度管理,解决并发操作处理中存在的协调问题,数据结构复杂,外部接口多样化,便于用户反复使用
-
作为系统软件,os做了这些事:管理与配置内存,决定系统资源供需的优先次序,控制输入设备与输出设备,操作网络与管理文件系统等基本事务,提供一个让用户与系统交互的操作界面(业务目标,实现价值)
-
操作系统的目标和功能
目标
-
有效性——管理系统(计算机系统)资源(硬件资源)
- 提高系统资源利用率
- 提高系统的吞吐量(干活多,做事有效率)
-
方便性——方便用户使用
以下二者作为扩充机器
-
可扩充性
-
开放性——兼容不同的软硬件标准,包括国内外
功能
- 作为计算机系统资源的管理者
- 处理机(处理器)管理
- 进程控制
- 进程同步
- 进程通信
- 调度
- 存储器管理
- 内存分配
- 内存保护
- 地址映射(经常出题)
- 内存扩充
- I/O设备管理
- 缓冲管理
- 设备分配
- 设备处理
- 文件管理
- 文件存储空间的管理
- 目录管理
- 文件的读/写管理和保护
- 处理机(处理器)管理
- 作为用户与计算机硬件系统之间的接口
-
程序接口(应用程序)
- 应用程序访问操作系统接口的过程叫做系统调用
-
命令接口——用户可以直接操作操作系统
- 用户通过鼠标键盘操作操作系统,底层都是命令
-
GUI(Graphical User Interface),图形用户接口
-
- 实现了对计算机资源(硬件资源)的抽象(或作为扩充机器)
- 将具体的计算机硬件资源抽象成软件资源,方便用户使用,方便应用程序调用
- 开放了简单的访问方式,隐藏(实现了对应用的封装)了实现细节
操作系统的特征
并发是虚拟、共享、异步的前提(图中的箭头与本人认知相反)
-
并发
- 同一时间间隔内执行和调度多个程序的能力
- 宏观上,处理机同时执行多道程序
- 微观上,处理机在多道程序间高速切换(分时交替执行)
- 关注单个处理机同一时间段内处理任务数量 的能力
相似概念:并行
并发:同一时间间隔(时间段)发生的事件数量【可优化、调度,以达到有效性】
- 午餐时段,学校餐厅并发用餐人数为12人
并行:同一时刻(时间点)发生的事件数量【物理极限明显】
- 同一时间点,学校餐厅最多并行3人打餐
并发更能够提高系统资源利用率(有效性)
- 同一时间间隔内执行和调度多个程序的能力
-
共享(Sharing)
- 即资源共享,系统中的资源供多个并发执行的应用程序共同使用
- 同时访问方式:同一时间段允许多个程序同时访问共享资源
- 互斥共享方式:也叫独占式,允许多个程序在同一个共享资源上独立而互不干扰的工作
- 共享打印机(互斥,自动排队顺序打印)、音频设备、视频设备(打电话不能同时看视频,独占式)
- 即资源共享,系统中的资源供多个并发执行的应用程序共同使用
并发和共享互为存在条件
- 共享性要求OS中同时运行着多道程序,若只有单道程序正在运行,则不存在共享的可能
- 并发性难以避免的导致多道程序同时访问同一个资源,若多道程序无法共享资源(比如磁盘),则无法并发
-
OS的虚拟技术(Virtual)
使用某种技术把一个物理实体变成多个逻辑上的对应物
- 时分复用技术(TDM)(时间分为多段)(分很多时间片,做高速切换)
- 虚拟处理机技术:“四核八线程”
- 虚拟设备技术:虚拟打印机
- 空分复用技术(SDM)(空间分为多段)
- 虚拟磁盘技术:将一块硬盘虚拟,出若干个卷(分盘)
- 虚拟存储器技术
- 时分复用技术(TDM)(时间分为多段)(分很多时间片,做高速切换)
-
OS的异步性(Asynchronism)
多道程序环境下,允许多个程序并发执行;
单处理机环境下,多个程序分时交替执行;
-
程序执行的不可预知性(就是异步性)
获得运行的时机,因何暂停,每道程序需要多少时间,不同程序的性能(比如计算多少,I/O多少),都为不可预知
-
宏观上“一气呵成”,微观上“走走停停”
-