四级网络工程师 操作系统 第一章 操作系统概论
第一章 操作系统概论
1、用—个专门的寄存器来指示处理器状态称为程序状态字(PSW):
① CF:进位标志位。
② ZF:结果为零标志位。
③ SF:符号标志位。
④ OF:溢出标志位。
几乎所有的微型计算机的PSW中都有与这四个标志位类似的标志位。有时称这四种标志位为标准条件位。
① TF:陷阱标志位。
② IF:中断使能(中断屏蔽)标志位。
③ VIF:虚拟中断标志位。
④ VIP:虚拟中断待决标志位。
这里VIF和VIP用于支持对一类可屏蔽的硬件中断处理。
① IOPL:IO特权级别,它的作用在前面已有叙述。
2、特权指令包括翰入翰出指令、停机指令等,只有在监控程序才能执行特权指令,只能在内核态下运行;用户只能执行一股指令,在用户态下运行。
(1)屏蔽中断、置程序计数器、清指令寄存器、清溢出标志关中断指令属于特权指令,只能是在系统内核态下运行。
(2)置移位方向标志位、读时钟指令、取数指令、移位指令属于非特权指令,可以在内核态下运行又可以在用户态下运行。
机器处于核心态是可以执行硬件所提供的全部指令,包括特权指令和非特权指令。
在核心态时可利用特权指令修改程序状态字转换为用户态。
用户态转换为核心态的唯一的途径是访管中断。
用户程序不能直接使用持权指令。如果用户程序在用户态下执行了特权指令,则引起访管中断,这也是CPU由用户态向核心态转换的方法。
当用户程序需要调用操作系统所提供的文件读写功能时,该功能首先执行的指令是访管指令。
3、常见的操作系统体系结构有:
(1)整体式结构
(2)层次式结构
(3)微内核(客户机/服务器)结构,优点:
①高可靠性:系统服务或者设备驱动故障和与它们有关的运行任务是隔绝的;
②高灵活性:当运行一个应用程序时,只需把选定的系统服务加载到系统中即可;
③适台分布式处理:一个精炼的微内核接口能够有演绎成更多模块的系统结构。
4、操作系统作为系统软件,位于软件系统的硬件之上和支撑软件之下的层面,集中了资源管理功能和控制程序执行功能。
5、操作系绒提供了3类型的接口供用户使用:
①命令接口:
提供一组命令供用户直接或间接操作。根据作业的方式不同,命令接口又分为联机命令接口和脱机命令接口。
②程序接口:
程序接口由一组系统调用命令组成,提供一组系统调用命令供用户程序使用。
fork()创建进程采用了系统调用命令接口。
③图形界面接口:
通过图标、窗口、菜单、对话框及其他元素和文字组合,在桌面上形成一个直观易懂,使用方便的计算机操作环境。
操作系统为用户提供了多种使用接口,它们是:图标和菜单、命令行、系统调用。
6、操作系统的功能主要可以分为:
(1)进程管理(处理器管理)
①进程控制
②进程同步
③进程间通信
④调度
(2)存储管理
存储管理的任务是管理计算机内存的资源。
存储管理有三个方面的功能:完成虚拟地址到物理地址的转换、管理内存分配表、检查进程地址空间是否出现地址越界问题、将磁盘上的代码调入内存、内存扩充
①内存的分配与回收:操作系统要为每个进程所占据的内存空间,在分配的过程中,还要尽可能提高内存资源的使用效能。
②存储保护:必须考虑程序可能发生越界的情况,保护整个用户及计算机系统的程序运行。
③内存扩充:借助于虚拟技术在逻辑上增加进程运行空间的大小,这个大小比实际的物理内存大得多。操作系统把正在使用的页面保持在内存中即将使用的页面调入到内存中,用户就感受不到空间使用的限制。
(3)文件管理
文件管理的任务是有效的支持文件的存储、检索和修改等操作,解决文件的共享、保密和保护问题,以使用户方便、安全地访问文件,主要涉及3个方面: 管理磁盘空间、磁盘碎片整理、建立文件目录、设置文件的存取权限。
①文件存储空间的管理:管理磁盘空间和磁盘碎片整理。
②目录管理:给出组织文件的方法,为每个文件建立目录项,并对众多的目录项加以有效的组织,以便为用户提供方便的按名存取。
③文件系统的安全性:文件的读写权限以及存取控制。
(4)用户接口(作业管理)
接口管理的任务是为用户提供一个使用系统良好环境,为用户程序提供系统调用接口。
为用户程序提供系统调用接口
(5)设备管理
设备管理是指计算机系统中除了CPU和内存以外的所有输入、输出设备的管理。
由操作系统的设备管理功能负责外部设备的分配,启动和故障处理。
在操作系统中,为了提高设备的使用效率和整个系统的运行速度,需要采用一系列的技术,包括中断技术、通道技术、虚拟设备技术和缓冲技术等,尽可能发挥设备和主机的并行工作能力。
提供缓冲技术
管理通道、网卡等相关的数据结构
提供虚设备技术
7、内核提供所有操作系统基本都具有的那些操作,如:线程调度、虚拟存储、消息传递、设备驱动以及内核原语操作集和中断处理等。而用户应用程序属于操作系统用户程序。
8、(1)操作系统:Ubuntu、Windows、UNIX、BSD、DOS
(2)网络协议:TCP/IP2
(3)简单网络邮件协议:SNMP
(4)Tivoli是管理大型软件的管理环境,属于应用软件,不是操作系统
(5)Eclipse一种是Java语言集成开发工具,不是操作系统。
9、进程管理实质是对中央处理器进行管理。进程管理主要包括进程控制、进程同步、进程通信和进程调度。
(1)进程控制的主要任务是创建进程、撤销结束的进程以及控制进程运行时候的各种状态转换。
(2)进程同步主要处理进程之间的关系,包括进程的同步和互斥;进程间通信主要处理相互协作进程之间信息的交换问题。
(3)进程调度则是按照一定的算法从就绪队列中挑选一个进程在处理器中真正执行它
中断服务程序是固定在某个地址的代码段,没有进程的概念。
能作为进程来管理:内存换页程序、打印程序、用户应用程序。
10、write()会把参数buf所指的内存写入count个字节到参数fd所指的文件内。当然,文件读写位置也会随之移动。若用户编程需要打印输出,需要系统调用write()。
11、按照用户界面的使用环境和功能持征的不同,一般可以把操作系统分为3种基本类型:
(1)批处理系统(Batch Processing Operating System):
①优点:是作业流程自动化较高,资源利用率较高,作业吞吐量大,从而提高了整个系统效率。成批处理用户提交的作业、作业吞吐率高。
②缺点:是用户不能直接与计算机交互,不台适调试程序。用户无法干预作业的运行、缺少交互性。
(2)分时系统(time-sharing system):
总体上看,分时操作系统具有多路性、交互性、独占性和及时性的特点。
①多路性:指有多个用户在同时使用一台计算机。从宏观上看是多个人同时使用一个处理器,从微观上看是多个人在不同时刻轮流使用一个处理器。
②交互性:用户根据系统响应的结果提出下一个请求,方便调试程序。用户直接干预操作每一步的进行。
③独占性:每个用户感觉不到计算机为其他人服务,好像整个系统为他个人所独占一样。
④及时性:指系统能够对用户提出的请求及时给予响应。
(3)实时系统(Real-time system,RTS):
实时操作系统是指使计算机能在规定的时间内及时响应外部事件的请求,同时完成对该事件的处理,并能够控制所有实时设备和实时任务协调—致地工作的操作系统,它的特点有:
①在严格的时间范围内,实时响应用户的请求
②过载防护能力
③高可靠性
随着计算机体系结构的发展,又出现了许多类型的操作系统:个人计算机操作系统、网络操作系统、嵌入式操作系统、分布式操作系统(distributed)和嵌入式操作系统。
交互式操作系统(interactive)是指能为用户提供交互式操作支持的操作系统。
没有工业操作系统。
(4)分布式操作系统的主要特点有:
(1)分布式操作系统是一个统一的操作系统,系统内所有主机使用同—个操作系统
(2)实现系统内资源的深度共享
(3)透明性:用户无需了解系统内本地主机或异地主机的差异
(4)自治性:各个主机关系都处于平等的地位,没有主从关系,不分主次
(5)具有较高的可靠性。
12、操作系统是计算机系统中的一个系统软件,它是这样一些程序模块的集合——它们能有效地组织和管理计算机系统中的硬件和软件资源,合理地组织计算机的工作流程,控制程序的执行,并向用户提供各种服务功能,使用户能够灵活、方便、有效地使用计算机,并使整个计算机系统能高效地运行。“合理"是指操作系统要“公平"对待不同的用户程序,保证系统不发生"死锁""和"饥饿"的现象。
操作系统作为系统软件,为用户提供了高效使用计算机的接口
(1)从软件设计和开发角度来看,操作系统是软件开发基础平台,是一个基础软件和工具软件,是一个大型软件。屏蔽了管理和控制计算机硬件与软件资源的底层操作,并提供了高层次软件调用的接口。操作系统是最基本的系统软件,它控制着计算机所有的资源并提供应用程序开发的接口。
(2)从安全保护角度来看,操作系统的主要作用是提供第—道安全防线。
(3)从黑客和网络攻击角度来看,操作系统是首先要突破的防线。
(4)从用户的观点看,操作系统是用户与计算机系统之间的接口,提供给用户的接口是命令输入和系统调用。
(4)从应用角度来看,操作系统的主要作用是提供人机交互接口,是一个系统软件。操作系统管理和控制计算机硬件与软件资源的计算机程序,是用户和计算机的接口,同时也是计算机硬件和其他软件的接口。操作系统是—种管理计算机系统资源,控制程序执行,改善人机界面和为其他软件提供支持的系统软件。从应用角度看,对于网络攻击者来说,操作系统就成了首先要突破的防线。
(6)从计算机系统发展角度来看,操作系统的主要作用是提供虚拟机和扩展机。操作系统是在原来计算机(裸机)扩充成为功能强、使用方便的计算机系统,这种计算机系统称为虚拟计算机。
(7)从扩展角度来看,操作系统为用户提供了一台虚拟机。将操作系统功能分成若干层次,每一个层次完成特定的功能,从而构成一个虚拟机。
13、Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。由于其移动设备的特性,其特点就是支持移动应用和支持网络。
14、操作系统的共享性是指操作系统程序与多个用户程序共用系统中的各种资源,这种共享性并不是随时随地的,而是在一定的策略控制下按不同资源类型共同占有使用。它分为互斥共享和同时共享两种形式。
①系统中有一类资源,在同一时间内可以被访问多个程序同时访问被称“同时共享"。硬盘则可以由不同程序共同使用,称为同时共享。
②系统中的有些资源虽然可以供多个用户程序同时使用,但是在一段特定的时间内只能由某一个用户程序使用。当这个资源正在被使用的时候,其他请求该资源的程序必须等待,并且在这个资源被使用完了以后才由操作系统根据一定的策略再选择一个用户程序占有该资源。资源“互斥共享"是指当这资源正在被使用的时候,其他请求该资源的程序必须等待,并且在这个资源被使用完了以后才由操作系统根据一定的策略在选择一个用户程序占有该资源。中央处理器以及存储器的所有进程都是允许不同程序交替轮流占用它,可互斥共享的。打印机,不同程序只能交替轮流占用它,称为互斥共享。
(1)硬盘、可以重入的操作系统代码、SPOOLing系统、log()函数的子程序、内存储器、外存储器是共享设备,可以被共享。(同时共享)
(2)磁带机、投影仪和扫描仪都是独占设备,无法被同时共享,只能被互斥共享。
(3)临界区、中断服务程序、内存分配模块、打印机、临界资源、中央处理器、存储器都是属于互斥共享。
内存分配模块只能有一个用户程序使用,并且只有这个资源被使用完了以后才由操作系统根据一定的策略在选择一个用户程序占有该资源,通常这种资源被称为临界资源,只能被互斥共享。
(4)内核调度模块属于软件级别,不存在同时共享和互斥共享。
15、研究操作系统的观点:
(1) 软件的观点
(2) 资源管理的观点
(3) 进程的观点
(4) 虚机器观点
(5) 服务提供者观点
16、在处理器的存储保护中,主要有两种权限状态,一种是核心态(管态),也被称为特权态;一种是用户态(目态)。多数系统将处理器工作状态划分为管态和目态。
前者一般指操作系统管理程序运行的状态,具有较高的特权级别,又称为特权态(特态)、系统态;后者一般指用户程序运行时的状态,具有较低的特权级别,又称为普通态(普态)、用户态。
(1)核心态(管态):操作系统内核所运行的模式,运行在该模式的代码,可以无限制地对系统存储、外部设备进行访问。操作系统管理程序运行的状态,具有较高的特权级别。
(2)用户态(目态、普通态):用户程序运行时的状态,具有较低的特权级别。
(3)系统调用在本质上是应用程序请求操作系统核心完成某一特定功能的一种过程调用,是一种特殊的过程调用,它与一般过程调用有以下几方面的区别:
①运行在不同的系统状态:
a)一般过程调用,其调用程序和被调用程序都运行在相同的状态:核心态或用户态;
b)在系统调用中,调用程序运行在用户态,而被调用程序则运行在系统态。
②状态的转换:
a)一般过程调用不涉及系统状态的转换,可直接由调用过程转向被调用过程;
b)但在运行系统调用时,是通过软中断机制(陷入机制),从调用程序所在的用户态转到被调用程序的核心态。用户态转换为核心态唯—的途径是访管中断。
③返回问题:a)一般过程调用在被调用过程执行完后,将返回到调用过程继续执行。b)嵌套调用像一般过程调用一样,系统调用也允许嵌套调用。
17、
八进制:7 3 6
十进制:4 7 8
二进制:1 1 1 0 1 1 1 1 0
18、在设备分配算法中,常采用的数据结构主要含4张表:
① 系统设备表SDT
② 设备控制表DCT
③ 控制器控制表COCT
④ 通道控制表CHCT
19、并发性是指在计算机系统中同时存在若干个运行着的程序,指两个或者多个事件在同一时间的间隔内发生。
从宏观上看,这些程序在同时运行。
从微观上看,这些程序是轮流占用CPU,交替运行。
在单处理机情况下,计算进程与磁盘读写进程微观上占用CPU交替执行,但宏观上计算进程与读写进程是在同一时间间隔内都活动着的。
(单CPU系统交替运行积分计算和磁盘读写的进程)
(在单处理器环境下,两个程序交替在CPU上运行)
20、站在资源管理的观点看,操作系统就是负责记录谁在使用什么样的资源,系统中还有哪些资源空闲,当前响应了谁对资源的要求,以及回收哪些不再使用的资源等,从而对这些资源进行有效的组织和管理,而记录这些信息是通过各种数据结构来实现的。
在操作系统中建立了用于记录各种软硬件资源信息的数据结构,该数据结构的用途是:了解用户需求和当前资源使用情况,对资源进行有效组织、管理。
21、随机性是操作系统的特征之一,操作系统的运行是在一种随机的环境下进行的,这种随机环境的含义是,操作系统不能对所运行的程序的行为以及硬件设备的情况作出任何事先的假定。
一般来说,操作系统正处于什么样的状态之中是无法确切知道的,这就是随机性的含义。所以操作系统内核进行进程切换这—现象具有随机性,操作系统内核进行进程切换具有随机性。
22、用户可见寄存器通常对所有程序都是可用的,由机器语言直接使用。
它一般包括数据寄存器、地址寄存器以及条件码寄存器。
23、在操作系统内部,为了掌握整个计算机系统的硬件和软件资源,设计了各种不同类型的表格或数据结构,将所有的硬件和软件资源—一加以登记。
资源的名称、类型、数量、用途、完好状态以及目前使用状态等信息,均在有关数据结构中保存,并动态、实时地不断更新着,可以由系统动态更新。
操作系统的任务之一是组织和管理计算机系统中的硬件及软件资源,为此在操作系统内部设计了各种数据结构。这些数据结构在操作系统运行中可以由系统动态更新。
24、操作系统的另一项重要任务,是向用户提供各种服务功能。一方面,向程序开发和设计人员提供高效的程序设计接口;另一方面,向使用计算机系统的用户提供接口,使用户能够灵活、方便、有效地使用计算机。
操作系统的任务之一是向用户提供各种服务功能,所谓服务功能是指提供人机交互接口。
向开发人员提供高效的编程接口。