操作系统:1、操作系统概览
1、What & Why
What(什么是操作系统)?
-
管理计算机硬件和软件资源的
计算机程序
; -
管理配置内存、决定资源供需顺序、控制输入输出设备等;
-
提供让用户和系统交互的界面;
操作系统的种类多种多样,不局限于计算机; 从手机到超级计算机,操作系统可简单可复杂; 不同设备上,操作系统可向用户呈现多种操作手段(触屏、鼠标);
常见操作系统举例:
PC端:
Linux、Windows、MacOs
手机端:
Android、iOS
操作系统是管理硬件、提供用户交互的软件系统
Why(为什么要有操作系统)?
- 人力不可能直接操作计算机硬件
- 设备种类繁多复杂,需要统一界面
- 操作系统的简易性使得更多人能够使用计算机
2、操作系统的基本功能
1、操作系统统一管理着计算机资源;
2、操作系统实现了对计算机资源的抽象;
用户无需面向硬件接口编程;
比如IO设备管理软件,向用户提供了读写接口的功能;
文件管理软件,提供了操作文件接口的功能;
3、操作系统提供了用户与计算机之间的接口;
比如图形窗口形式、命令形式、系统调用形式
3、操作系统的相关概念
1、并发性
2、共享性
3、虚拟性
4、异步性
3.1、并发性
并行:两个或者多个事件可以在同一时刻
发生
并发:两个或者多个事件可以在同一个时间间隔
发生
3.2、共享性
共享性表现为操作系统中的资源可以供多个并发的程序共同使用;这种共同使用的形式称之为资源共享;
下图中列出了多个程序共享主存的情况:
虽然两个程序使用的是不同的主存区域,但是还是说主存被共享了
共享性–互斥共享
当资源被程序A占用时,其他想使用的话只能等待;
只有程序A使用完后,其他进程才可以使用该资源;
比如打印机被程序A使用了,程序B想答应的时候只能等待A用完后才能使用;
共享性–同时访问
某种资源在一段时间内并发地被多个程序访问;
这种“同时”是宏观的,从宏观去看该资源可以被同时访问;
比如程序A和B都想往磁盘上写数据,但是因为磁盘的悬臂只有一个,那么程序A写入的时候程序B是不能写的。但是因为写数据比较快,如果在一段时间内去观察它的话,我们可以认为它是同时访问的。
3.3、虚拟性
- 虚拟性表现为把一个物理实体转变为若干个逻辑实体
- 物理实体是真实存在的,逻辑实体是虚拟的
- 虚拟的技术主要有时分复用技术和空分复用技术
虚拟性–时分复用技术
- 资源在时间上进行复用,不同程序并发使用
- 多道程序分时使用计算机的硬件资源
- 提高资源的利用率
比如在时间轴上,某单核cpu依次交替执行,交替使用cpu资源,这个就是时分复用的一种
时分复用技术分为:虚拟处理器技术、虚拟设备技术
虚拟处理器技术:
借助躲到程序设计技术为每个程序建立进程、多个进程分时复用处理器
虚拟设备技术:
物理设备虚拟为多个逻辑设备,每个程序占用一个逻辑设备,多个程序通过逻辑设备并发访问
虚拟性–空分复用技术
空分复用技术用来实现虚拟磁盘、虚拟内存的,可以提高资源的利用率,提升编程效率
虚拟磁盘技术:
把一个物理磁盘,虚拟为多个逻辑的磁盘,比如一个硬盘虚拟为C盘、D盘、E盘;
使用虚拟磁盘技术可以让用户在使用的时候更加安全,方便;
虚拟内存:
从逻辑上扩大了程序的存储容量,这样程序可以使用比实际内存更大的容量;
可以大大的提高编程的效率;
3.4、异步性
异步性使得在多道程序的环境下,允许多个进程并发执行;
进程在使用资源时可能需要等待或放弃;
进程的执行并不是一气呵成的,而是以走走停停的形式推进;
假如进程在运行到某个时刻的时候需要用到某个资源,那么如果这个资源被占用,可能进程就需要停止或者等待,当资源被释放的时候再获取这个资源继续执行