操作系统(os)的基本特性
OS的基本特性
1.并发性
并发与并行:
并行:abc事件在同一时刻发生
并发:abc事件在同一时间间隔内发生(宏观上是同时运行的,微观上还是各个程序分时交替执行)
进程
比如一个系统中有一个应用程序,这个应用程序由计算程序和I/O程序两部分。如果没有引入进程,两者只能顺序执行,比如执行完了这个io,再去执行那个计算程序。问题来了,io操作是非常耗时的,而且这个时候cpu是空闲的,cpu这种情况下只能干等着io完毕才可以去运行计算程序,这样的效率是很低的。
如果在io的同时能够让cpu干点事情,这样就可以提高效率。
如果对每个计算机的程序都分别建立一个进程,就可以让他们这些进程并发执行,这样就很大的提高了系统资源利用率,增加系统吞吐量。
系统吞吐量:单位时间内中央处理器(cpu)从存储设备读取、处理和存储信息的量。
进程:系统中独立运行并作为资源分配的基本单位,由一组机器指令、数据、堆栈等组成,一个可以独立运行的活动实体。多个进程之间可以并发执行和交换信息。
补充:
线程:一个进程中包含若干个线程,进程是资源调度的基本单位,线程是独立运行和独立调度的基本单位。线程比进程小,不拥有系统资源,对它进行调度花费的开销小,可以提高系统内多个程序的执行并发性。
2.共享性
互斥共享方式:存在进程ABC和资源E,如果ABC都想要使用资源E,而此时有一个进程D正在使用资源E,他们就只能等待D使用完然后依次使用资源E,这个就是互斥共享方式。这种在一段时间内只允许一个进程访问的资源,成为临界资源(或独占资源)
同时访问方式:宏观上是同时使用,微观上是这些进程交替使用某一资源。
3.虚拟技术
时分复用技术:某设备对一个用户提供服务的空闲时间去为其他客户提供服务,使设备得到充分利用。
空分复用技术:利用存储器空闲空间分区域存放运行其他多道程序,提高了内存的利用率。
4.异步性
内存中的每个进程是以不可预知的速度向前推进的,这个就是进程的异步性。
为什么说不可预知的速度,因为有的进程需要多的io操作,有的进程需要多的计算操作,io操作肯定更耗时,那么就有这样的结果,有的进程先进入了内存但是由于io操作一致等待,反而后进入内存的另一个进程(需要更多计算操作,io操作较少)会提前完成作业,每个进程的推进速度都是不可预知的。