内容正文:
操作系统原理(第2版)
第1章 引 论
计算机技术发展到今天,从个人计算机到巨型计算机,无一例外都配置了一种或多种操作系统。
计算机系统由硬件和软件两部分组成,操作系统是计算机系统中最重要的系统软件,也是配置在计算机硬件上的第一层软件,它作为计算机硬件和计算机用户之间的中介,为应用程序提供使用基础,并成为整个计算机系统的控制中心。
在现代计算机系统中如果不安装操作系统,很难想象如何使用计算机。操作系统不仅将仅有硬件的裸机改造成为功能强、使用方便灵活、运行安全可靠的虚拟机,来为用户提供良好的使用环境,而且采用有效的方法组织多个用户共享计算机系统中的各种资源,最大限度地提高了系统资源的利用率。
第1章 引 论
1.1 操作系统的概念
1.2 操作系统的逻辑结构和运行模型
1.3 操作系统的形成与发展
1.4 主要操作系统的类型
1.5 操作系统安全性概述
1.6 操作系统运行基础
1.1.1 什么是操作系统
1.引子
程序的运行涉及4个方面:
① 程序设计语言;
② 编译程序;
③ 操作系统;
④ 硬件指令系统(计算机
硬件系统)。
操作系统在程序的执行过程中具有关键作用。
1.1 操作系统的概念
2.操作系统的定义
Operating System
问题一,操作系统
到底是什么?
答案:操作系统是介于计算机硬件和应用软件之间的一个软件系统,即操作系统的下面是硬件平台,而上面则是应用软件(如上图所示)。
问题二,操作系统到底操控(管理)什么事情?
最早的计算机并没有操作系统,而是直接由人来操控。随着计算机复杂性的增加,人们已经不能胜任直接掌控计算机了,于是编写出操作系统这个“软件”来掌控和管理计算机。
(1)操作系统必须掌控计算机的所有软硬件资源,并使计算机的工作变得有序。这是早期驱动操作系统不断改善的根本原因。
(2)既然操作系统是专门掌控计算机的,那么计算机上发生的所有事情必须得到操作系统的允许,但由于操作系统设计缺陷给攻击者造成可乘之机,而操作系统设计人员和攻击者之间的博弈是当前驱动操作系统改善的一个重要动力。
(3)为了更好地掌控计算机上发生的所有事情,同时也为了更好地满足人们对操作系统越来越苛刻的要求,操作系统必须不断地完善自己。
操作系统的定义 :
操作系统是掌控(管理)计算机上所有事情的系统软件,它需要完成以下5种功能。
(1)控制和管理计算机系统的所有硬件和软件资源。
(2)合理地组织计算机的工作流程,保证计算机资源的公平竞争和使用。
(3)方便用户使用计算机。
(4)防止对计算机资源的非法侵占和使用。
(5)保证操作系统自身的正常运转。
操作系统在计算机系统中的地位
计算机系统具有层次结构,操作系统是在硬件基础上的第一层软件,是其他软件和硬件之间的接口。
3.操作系统的设计目标
(1)方便性。提供统一且界面友好的用户接口,以方便用户使用计算机。
(2)有效性。操作系统应能合理地组织计算机的工作流程,改善系统性能并提高系统运行效率。
(3)可扩展性。以适应计算机硬件和计算机网络等发展的需要。
(4)开放性。遵循国际标准构造一个统一的开放环境,实现应用程序的可移植性和互操作性。
(5)可靠性。可靠性包括正确性、健壮性和安全性。
(6)可移植性。避免重复工作及缩短软件研发周期。
为了高效使用计算机软、硬件资源,提高计算机系统资源利用率和方便用户使用,都采用多道程序设计技术。
多道程序设计技术是指内存中同时放入多道程序交替运行并共享系统资源,当一道程序由于某种原因(如输入/输出请求)而暂停执行时,CPU则立即转去执行另一道程序;这样,不仅使CPU得到充分利用,而且也提高了I/O设备和内存的利用率。
多道程序设计技术的引入,使操作系统具有多道程序同时运行且宏观上并行、微观上串行的特点,而操作系统也正是随着多道程序设计技术的出现而逐步发展起来的。
1.1.2 操作系统的主要功能
内存中运行多道程序,在技术上要解决以下问题
(1)多道程序之间应如何分配CPU,使得CPU既能满足各程序运行的需要,又能有较高的利用率?此外,一旦将CPU分配给某程序后,应何时回收且如何回收?
(2)如何为每道程序分配必要的内存空间,使它们在内存中彼此隔离互不干扰,不会出现内存区的重叠而导致程序无法运行或数据破坏丢失?此外,还要防止某道程序出现异常而导致其他程序被破坏的情况出现。
(3)系统中可能有多种类型的I/O(