零、计算机系统自下而上可粗分为四个部分:硬件、操作系统、应用程序和用户(与计算机组成原理的分层不同)。操作系统是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便地接口和环境的程序集合。它是计算机系统中最基本的系统软件。
一、操作系统的特征:
(1)并发(concurrence):两个或多个事件在同一时间间隔内发生。引入进程的目的是为了是程序能并发执行。
并发和并行的区别:并发是指多个事件在同一时间间隔内执行(某一个时间点只执行行一个任务),并行是指多个事件在同一时间执行(某一个时间点执行多个任务),并行需要硬件支持。
(2)共享(sharing):系统中的资源可供多个并发执行的进程共同使用。
共享的方式:
- 互斥共享。一段时间内只允许一个进程访问该资源。 同时把这种共享的资源成为临界资源或独占资源。
- 同时访问。与短时间内允许多个进程“同时”访问该资源。宏观上同时,但在微观上,这些进程是交替对资源进行访问。这种资源的例子有:磁盘设备。
(3)虚拟(virtual):把物理上的实体变为若干个逻辑上的对应物。例如:虚拟处理器、虚拟内存和虚拟外部设备等。
- 虚拟处理技术是通过多道程序设计基础让多到程序并发执行,来分时使用一个处理器。虽然只有一个处理器,但它能同时为多个用户服务,让每个用户都觉得有一个cpu专门为他服务。(把一个物理上的cpu虚拟为多个逻辑上的cpu)
- 虚拟存储技术可以将一台机器的物理存储器变为虚拟存储器,以便从逻辑上来扩充存储器的容量。
- 虚拟设备技术可以将一台物理I/O设备虚拟为多台逻辑上的I/O设备,并允许每个用户占用一台逻辑上的I/O设备,以便多个用户共享一个设备(原来是临界资源)。
(4)异步(asynchronism):在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。异步性使操作系统运行在一种随机的环境下,可能导致进程产生与时间有关的错误(就像对全局变量的访问顺序不当会导致程序出错一样)。但是只要运行环境相同,操作系统必须保证多次运行