什么是操作系统
操作系统是一个计算机程序,也就是一个软件,用来管理计算机的软件与硬件资源。
操作系统被要求能够管理配置内存、决定资源供需顺序、控制输入输出设备、提供让用户和系统交互的操作界面。
操作系统的种类是多种多样的,不局限于计算机,从手机到超级计算机,操作系统可简单也可复杂,在不同的设备上,操作系统可向用户呈现多种操作手段。
在手机上一般现在为安卓Android以及iOS的系统,电脑上常用的系统一般为Windows、Linux、MacOS Sierra。
一句话,操作系统是用来管理硬件、提供用户交互的软件系统。
为什么要使用操作系统
我们不可能直接操作计算机硬件
设备种类繁多复杂,需要统一界面
操作系统的简易性使得更多人能够使用计算机
操作系统的基本功能
操作系统统一管理着计算机资源,如处理器资源、IO设备资源、存储器资源、文件资源等。
操作系统实现了对计算机资源的抽象,用户无需面向硬件接口编程,操作系统提供了IO设备管理软件及文件管理软件等,用户只需要面向这些读写接口和文件接口进行编程即可。
操作系统提供了用户与计算机之间的接口,如图形窗口、命令形式、系统调用。用户也可以使用应用程序来使用计算机。
操作系统四大特性
并发性
并行
并行是指两个或多个事件可以在同一个时刻发生。
并行需要一个以上的处理器个数,在大多数处理器中,程序都能够被并发的运行。这得益于多道程序设计。
并发
并发是指两个或多个事件可以在同一个时间间隔发生。
两个事物或多个事物看似同时发生,但是实际上是在一个时间段里高速的切换运行。
共享性
共享性表现为操作系统中的资源可供多个并发的程序共同使用。
这种共同使用的形式称之为资源共享。
互斥共享形式
当资源被程序A占用时,其他想使用的话只能等待。
只有进程A使用完以后,其他进程才可以使用该资源。
同时访问形式
某种资源在一段时间内并发地被多个程序访问。
多个程序可以同时使用主存资源,这种“同时”是宏观的,从宏观去看该资源可以被同时访问,比如读写数据,速度较快,可看作为同时使用。
虚拟性
虚拟性表现为把一个物理实体转变为若干个逻辑实体,物理实体是真实存在的,逻辑实体是虚拟的。
虚拟的技术主要有时分复用技术和空分复用技术。
时分复用技术
当一种资源在时间上复用时,不同的程序或用户轮流使用它。
资源在时间上进行复用,不同程序并发使用,多道程序分时使用计算机的硬件资源,能够提高资源的利用率。
虚拟处理器技术
借助多道程序设计技术,为每个程序建立进程,多个程序分时复用处理器。
虚拟计算机的虚拟处理器是由物理处理器来进行实现的,处理器来进行调度的时候,每个虚拟处理器分得的时间片后可供进程执行时使用。虚拟设备技术
把物理设备虚拟为多个逻辑设备,每个程序占用一个逻辑设备,多个程序通过逻辑设备并发访问。
空分复用技术
指利用空间的分割实现复用的一种方式,让同一个频段在不同的空间内得到重复利用。
空分复用技术用来实现虚拟磁盘、虚拟内存等,提高资源的利用率,提升编程效率。
虚拟磁盘技术:
物理磁盘虚拟为逻辑磁盘,C、D、E等逻辑盘,使用起来更加安全、方便。
虚拟内存技术:
在逻辑上扩大程序的存储容量,使用比实际内存更大的容量,大大提升编程效率。
虚拟计算机的虚拟主存是利用虚拟存储技术实现的,虚拟主存可供进程作为物理地址空间使用,所以属于空分复用。异步性
在多道程序环境下,允许多个进程并发执行,进程在使用资源时可能需要等待或放弃。
进程的执行并不是一气呵成的,而是以走走停停的形式推进,进程以不可预知的速度向前推进。