计算机操作系统概述
概念
操作系统(英语:Operating System,缩写:OS)是管理计算机硬件与软件资源的系统软件,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。
操作系统作为系统资源的管理者需要具备哪些功能
文件管理,设备管理,内存管理,处理机制(进程管理)目标:安全,高效。
操作系统作为用户和计算机硬件之间的接口需要哪些功能
用户接口:分为命令接口和程序接口。
命令接口
:用户可以直接使用,它又分为联机命令接口和脱机命令接口;
什么是联机命令接口?
用户输入一个命令,系统执行一个命令,例如你打开dos窗口,输入time,然后会显示当前系统时间,并且还可以设置时间。那什么优势脱机命令接口?脱机命令接口其实就是用户输入一大堆命令,然后系统执行一堆处理,这个打个比方就是创建一个文件,文件里面是系统要执行的命令,然后把后缀名改成 .bat或者其它可执行文件,然后交给系统执行。
程序接口
:用户通过程序间接调用:由程序接口组成;
例如程序员使用C语言或者C++函数接口操作系统的资源。
GUI图形用户界面:方便用户使用。
操作系统作为最接近硬件层次需要哪些功能和目标
需要提供的功能和目标:实现对硬件及其的扩展
没有任何软件支持的计算机成为裸机。裸机上安装操作系统可以提供资源管理功能和方便用户的服务功能,讲裸机改造成功能更强,使用更加方便的机器。
通常把覆盖了软件的机器成为虚拟机
基本特征
1、并发
并发是指宏观上在一段时间内同时运行多个程序,而并行是同一时刻运行多个指令。
并行需要硬件的支持,例如多核处理器,多流水线。
操作系统通过引入进程与线程,使得程序能够并发运行。
2、共享
共享是指操作系统中的资源可以被多个并发进程共同使用。
有两种共享方式;互斥和同步共享。
互斥共享的资源称为临界资源,例如打印机,在同一时刻只允许一个进程访问资源,需要用同步机制来实现对临界资源的访问。
3、虚拟
虚拟技术就是把物理上的实体转换为多个逻辑上的对应物。物理实体前者是时机存在的,而逻辑上对应物是用户感受的到的。
主要有两种虚拟技术:时分复用技术和空分复用技术。
多个进程在同一个处理器并发执行使用了时分复用技术,让每个进程轮流占有处理器,每次只执行一个小时间片,并且这个时间片在进程之间互相切换。
虚拟内存使用了空分复用技术,他将物理内存抽象为地址空间,每个进程都有各自的地址空间。地址空间和物理内存使用页面进行交换。
地址空间的页并不需要全部在物理内存中,当使用到一个没有在物理内存的页时,执行页面置换算 法,将该页置换到内存中。
4、异步
异步说的就是进程不是一次性执行完毕,他在操作系统中是走走停停,以不可见的速度进行。
如果失去了并发性,则一个时间段内系统中只需运行一道程序,那么就失去了实现虚拟性的意义,同样共享是建立在并发的基础上的,如果没有并发,共享是无法实现的。
操作系统的发展与分类
- 手工处理阶段 :主要缺点:用户独占全机、人机速度矛盾导致资源利用率极低;人机速度矛盾指的是:人通过打孔机在纸带上打孔,譬如:打孔的是1,没打孔的是0,然后将这条纸袋上的数据交给计算机处理得到结果,计算机处理的速度很快,处理后还是以纸袋的形式打出来,最后人们再践行解析,这个过程计算机处理的速度很快但是人们的输入与输出速度太慢了,在同一时刻,用户是独占整个机器来得到结果。
- 批处理阶段:分为单道批处理和多道批处理
- 单道批处理:引入了脱机技术/输入技术(用磁带完成),并监督程序负责控制作业的输入、输出;这个算是计算机操作系统的雏形,他的优点:缓解了一定程度的人机速度矛盾,资源利用率有所提升。主要缺点:内存中仅有一道程序运行,只有该程序运行结束后才能调入下一道程序。CPU有大量的时间是在闲置等待这个任务完成。资源利用率还是很低。
- 多道批处理:他允许每次往内存中输入多个程序,操作系统处理这些程序,这个时候的操作系统才算是正式诞生,并引入了中断技术,由操作系统负责管理这些程序的运行,各个程序并发执行。主要优点:多道程序并发执行,共享计算机资源,资源利用率大幅度提升,系统的吞吐量变大,CPU开始忙碌起来。主要缺点:用户响应时间变长。用户与计算机之间没有交互,如果想知道这些程序计算的结果对不对只能等待计算机一次性处理完才知道,用户并不能控制自己的程序执行。
- 分时操作系统:计算机以时间片为单位轮流为各个用户/作业服务,各个用户可通过终端与计算机进行交互。主要优点:用户请求可以被即时响应,解决了人机交互问题,允许多个用户同时使用一个计算机,并且用户对计算机的操作相互独立,感受不到被人的存在。主要缺点:不太能优先处理一些紧急任务,操作系统对各个用户、作业之间都是公平的,循环地为每个用户/作业服务一个时间片,不区分任务的紧急性。
- 实时操作系统:能够优先响应一些紧急任务,某些紧急任务不许时间片排队。在实时操作系统的控制下,计算机系统接收到外部信号后及时进行处理,并且在严格时间内处理完事件,实时操作系统的主要特点就是及时性和可靠性。例如:自动驾驶技术,导弹控制系统必须严格规定时间内完成处理,这是如遇实时操作系统中的硬实时操作系统,哪还有软实时操作系统:能 接收偶尔违反时间规定的操作系统。
- 网络操作系统:随着计算机网络的发展而诞生能够把各个计算机有机的结合起来实现数据传送的功能,例如windows NT
- 分布式操作系统:主要特点是分布性和并行性。系统中的各台计算机地位相同,任何工作都可以分布在这些计算机上,有他们并行协同完成。
- 个人计算机操作系统:window macOS,Linux等