非零基础自学计算机操作系统 第1章 操作系统概述 习题一
非零基础自学计算机操作系统
第1章 操作系统概述
习题一
【1】什么是操作系统?操作系统有哪些特性?
答:操作系统是管理计算机硬件与软件资源的计算机程序,它的主要特性有并发性、易用性、稳定性和异步性。操作系统也提供一个让用户与系统交互的操作界面。
【2】硬件将处理器状态划分为两种,即管态和目态,这样做会给操作系统的设计带来什么好处?
答:便于设计安全可靠的操作系统。管态和目态是计算机硬件为保护操作系统免受用户程序的干扰和破坏而引入的两种状态。通常操作系统在管态下运行,可以执行所有机器指令;而用户程序在目态下运行,只能执行非特权指令。如果用户程序企图在目态下执行特权指令,将会引起保护性中断,由操作系统终止该程序的执行,从而保护了操作系统。
【3】何谓特权指令?试举例说明。如果允许用户进程执行特权指令,会带来什么后果?举例说明。
答:只能在管态下才能执行的指令称为特权指令。如开关中断、置程序状态寄存器等。如果允许用户执行特
权指令,它将不仅影响当前运行的程序,而且还有可能影响操作系统的正常运行,甚至整个系统。
【4】中断向量在计算机中的存储位置是由硬件决定的,还是由软件决定的?
答:中断向量在机器中的位置是由硬件确定的。例如,在NTEL80x86CPU中,内存空间0x00000一0x003f为中断向量空间。
【5】中断向量的内容是由操作系统程序决定的,还是由用户程序决定的?
答:中断向量的内容是由操作系统程序确定的。向量的内容包括中断处理程序的入口地址和程序状态字(中断处理程序运行环境),中断处理程序是由操作系统装入内存的,操作系统将根据装入的实际地址和该中断处理程序的运行环境来填写中断向量。
【6】中断向量内的处理器状态字应当标明管态还是目态?为什么?
答:应当标明是管态。该状态由系统初试化程序设置,这样才能保证中断发生后进入操作系统规定的中断处理程序。
【7】系统如何由目态转换为管态?如何由管态转换为目态?
目态程序被中断时,现行PSW被压入系统栈,中断向量PSW被送入寄存器。由于后者 状态位为管态,系统状态由目态转换为管态。
当处于管态的中断处理程序执行完且没有嵌套中断时,将系统栈中的PSW弹出送入寄存器。由于后者状态位为目态,即实现了由管态到目态的转换。
【8】中断与程序并发之间的关系是什么?
答:中断是程序并发的必要条件。如果没有中断,操作系统不能获得系统控制权,无法按调度算法对处机进行重新分配,一个程序将一直运行到结束而不会被打断。
【9】根据用途说明“栈”和“堆”的差别。
答:栈是一块按后进先出(FI0)规则访问的存储区域,用来实现中断嵌套和子程序调用的参数和返回断点。而堆虽然是一块存储区域,但是对堆的访问是任意的,没有后进先出的要求,堆主要用来为动态变量分配存储空间。
【10】何谓系统栈?何谓用户栈?系统栈有何用途?用户栈有何用途?
答:系统栈是内存中操作系统空间的一个固定区域:用户栈是内存中用户空间的一个区域。
系统栈的作用:(1)保存中断现场,对于嵌套中断,被中断程序的现场信息依次压入系统栈,中断返回时逆序弹出;(2)保存操作系统子程序间相互调用的参数、返回值、返回点、以及子程序的局部变量。
用户栈的作用:用于保存用户进程的子程序间相互调用的参数、返回值、返回点、以及子程序的局部变量。
【11】为何无法确定用户堆栈段的长度?
答:用户堆栈段的长度主要取决于两个因素:(1)用户进程(线程)中子程序(函数)之间的嵌套调用深度;(2)子程序参数和局部变量的数量及类型;(3)动态变量的使用。这些在进程(线程)运行前无法确定,由此导致用户堆栈段的长度无法预先准确确定。
【12】为何堆栈段的动态扩充可能导致进程空间的变迁?
答:堆栈段的扩充需要在原来进程空间大小的基础上增添新的存储区域,而且通常要求与原来存储区域连续。由于原存放位置处可扩展的区域可能已经被其它进程占用,故可能需要将整个进程空间搬迁到另外一个区域,以实现地址空间扩展要求。
【13】何谓并行?何谓并发?在单处理器系统中,下述并行和并发现象哪些可能发生,哪些不会发生?
(1)进程与进程之间的并行
(2)进程与进程之间的并发
(3)处理器与设备之间的并行
(4)处理器与通道之间的并行
(5)通道与通道之间的并行
(6)设备与设备之间的并行
答:所谓并行是指同一时刻同时进行,进程并行需要多处理器的支持;
所谓并发,是指在一段时间内,多个进程都在向前推进,而在同一时刻,可能只有一个进程在执行,多个进程轮
流使用处理器。
在单处理器传统中,可能发生的并行和并发现象如下:
(2)进程与进程之间的并发。例如,在indows操作系统中,mp3播放进程和Word字处理进程可以并发执行,这样用户就可以边听音乐边写文章了。
(3)处理机与设备之间的并行。例如,当处理机进行科学运算时,打印机可以打印文档。
(4)处理机与通道之间的并行。通道程序的执行可与处理机的操作并行。
(5)通道与通道之间的并行。通常一个系统中有多个通道,这些通道可以并行地执行相应的通道程序。
(6)设备与设备之间的并行。例如打印机打印文档时,磁带机在输入数据。
【14】何谓作业?它包括哪几个部分?各个部分的用途是什么?
答:所谓作业是指用户要求计算机系统为其完成的计算任务的集合。一个作业通常包括程序、程序所处理的数据以及作业说明书。程序用来完成特定的功能,数据是程序处理的对象,作业说明书用来说明作业处理的步骤。
【15】试述批处理操作系统与分时操作系统的差别。
- 批处理系统没有人机交互,而分时系统允许多个用户同时使用
- 批处理系统中允许程序长时间地占用CPU,而分时系统不允许
相同点:两者都允许多个用户程序并发执行而互不干扰的多道程序系统。
不同点:多道批处理系统中用户不能干预其程序的运行,及时性差;而分时系统中用户可通过终端与其程序进行交互,及时性强。
【16】从透明性和资源共享两个方面说明网络操作系统与分布式操作系统之间的差别。
答:从透明性上看,分布式操作系统优于网络操作系统。网络用户能够感觉到所访问的资源是在本地还是在远地;而在分布式系统中,用户感觉不到所访问的资源是否在本地,分布式操作系统掩盖了资源在地理位置上的差异。
从资源共享上看,分布式操作系统比网络操作系统能共享更多的资源。在网络操作系统中,一个计算任务不能由一台主机任意迁移到另外一台主机上运行:而在分布式操作系统中,所有作业可以由一台主机任意迁移到另外一台主机上处理,即可实现处理机资源的共享,从而达到整个系统的负载平衡。
【17】为什么构成分布式系统的主机一般都是相同的或兼容的?
答:这样更有利于进程的动态迁移。如果主机不兼容,则在一台主机上能运行的进程,因所用指令系统不同,在另一台主机上可能无法运行,导致进程难于在不同主机间迁移,使得分布式系统难于实现负载平衡。构成分布式系统的主机一般都是相同的或兼容的。
【18】集群系统与分布式系统有何差别?
分布式是指将不同的业务分布在不同的地方。而集群指的是将几台服务器集中在一起,实现同一业务。分布式结构中的每一个结点都可以做集群,而集群并不一定就是分布式的。
【19】何谓云存储?何谓云计算?
云存储是一种网上在线存储(英语:Cloud storage)的模式,即把数据存放在通常由第三方托管的多台虚拟服务器,而非专属的服务器上。托管(hosting)公司运营大型的数据中心,需要数据存储托管的人,则透过向其购买或租赁存储空间的方式,来满足数据存储的需求。数据中心营运商根据客户的需求,在后端准备存储虚拟化的资源,并将其以存储资源池(storage pool)的方式提供,客户便可自行使用此存储资源池来存放文件或对象。实际上,这些资源可能被分布在众多的服务器主机上。
云计算(cloud computing)是分布式计算的一种,指的是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,然后,通过多部服务器组成的系统进行处理和分析这些小程序得到结果并返回给用户。云计算早期,简单地说,就是简单的分布式计算,解决任务分发,并进行计算结果的合并。因而,云计算又称为网格计算。通过这项技术,可以在很短的时间内(几秒钟)完成对数以万计的数据的处理,从而达到强大的网络服务。
【20】为什么嵌入式操作系统通常采用微内核结构?微内核结构包括哪些内容?
答:嵌入式操作系统与一般操作系统相比具有比较明显的差别:(1)嵌入式操作系统规模一般较小,因为一般硬件配置较低,而且对操作系统提供的功能要求也不高。(2)应用领域差别大,对于不同的应用领域其硬件环境和设
备配置情况有明显差别。所以,嵌入式操作系统一般采用微内核(micro kernel)结构,包括如下基本功能:(1)处理机调度;(2)基本内存管理;(3)通讯机制:(4)电源管理。在这些基本成分之上可进行扩展,以适应不同应用目标。
【21】微内核结构有哪些优点和缺点?
优点:
- 提高了可扩展性
- 增强了安全性和可靠性
- 增强了可移植性
- 提供了对分布式系统的支持
- 融入了面向对象技术
缺点:
- 系统难以进行良好的整体优化
- 进程间互相通信的开销也比较单一,内核系统要大很多
【22】操作系统为用户和上层软件提供哪种界面形式?相应的界面形式适用于哪种应用环境?
一般来说,操作系统为用户提供5种界面形式:
交互终端命令
一般系统都提供几十条甚至上百条交互式命令,操作人员必须熟记这些命令,才能对系统应用自如,这一般只有计算机专业人员才能做到。
图形用户界面
使用计算机系统的方便性
触屏用户界面
感应式接触屏幕。
作业控制语言
批处理系统所具有的界面形式。
系统调用命令
在用户程序级别上与操作系统打交道的方式。
非零基础自学计算机操作系统 第1章 操作系统概述 习题一相关推荐
- 非零基础自学计算机操作系统 第1章 操作系统概述 1.4 操作系统的分类 1.4.1 多道批处理操作系统 1.4.2 分时操作系统
非零基础自学计算机操作系统 文章目录 非零基础自学计算机操作系统 第1章 操作系统概述 1.4 操作系统的分类 1.4.1 多道批处理操作系统 1.4.2 分时操作系统 第1章 操作系统概述 1.4 ...
- 非零基础自学Golang 第18章 HTTP编程(下) 18.2 HTTP服务端 18.2.2 启动HTTP服务器 18.2.3 启动HTTPS服务器
非零基础自学Golang 文章目录 非零基础自学Golang 第18章 HTTP编程(下) 18.2 HTTP服务端 18.2.2 启动HTTP服务器 18.2.3 启动HTTPS服务器 第18章 H ...
- 非零基础自学Golang 第3章 基本变量与类型 3.1 Go语言变量
非零基础自学Golang 文章目录 非零基础自学Golang 第3章 基本变量与类型 3.1 Go语言变量 3.1.1 声明变量 3.1.2 初始化变量 3.1.3 变量值交换 3.1.4 匿名变量 ...
- 非零基础自学Golang 第15章 Go命令行工具 15.4 注释文档(doc)
非零基础自学Golang 文章目录 非零基础自学Golang 第15章 Go命令行工具 15.4 注释文档(doc) 第15章 Go命令行工具 15.4 注释文档(doc) Go语言文档工具go do ...
- 非零基础自学Golang 第1章 走进Go 1.2 Go语言官方文档 1.3 学好Go 的建议
非零基础自学Golang 文章目录 非零基础自学Golang 第1章 走进Go 1.2 Go语言官方文档 1.3 学好Go 的建议 1.3.1 了解语言特性及自身需求 1.3.2 动手写代码 1.3. ...
- 非零基础自学Golang 第17章 HTTP编程(上) 17.3 爬虫框架gocolly 17.3.1 gocolly简介
非零基础自学Golang 文章目录 非零基础自学Golang 第17章 HTTP编程(上) 17.3 爬虫框架gocolly 17.3.1 gocolly简介 第17章 HTTP编程(上) 17.3 ...
- 非零基础自学Java (老师:韩顺平) 第10章 面向对象编程(高级部分) 10.6 抽象类
非零基础自学Java (老师:韩顺平) ✈[[零基础 快速学Java]韩顺平 零基础30天学会Java] 第10章 面向对象编程(高级部分) 文章目录 非零基础自学Java (老师:韩顺平) 第10章 ...
- 非零基础自学Golang 第1章 走进Go 1.1 Go编程语言概述 1.1.2 Go 语言特性及应用场景
非零基础自学Golang 文章目录 非零基础自学Golang 第1章 走进Go 1.1 Go编程语言概述 1.1.2 Go 语言特性及应用场景 第1章 走进Go 1.1 Go编程语言概述 1.1.2 ...
- 非零基础自学Golang 1 前景
非零基础自学Golang 学习文档地址:https://www.topgoer.cn/ 本文仅用于学习记录,不存在任何商业用途,如侵删[已联系过文档作者] 文章目录 非零基础自学Golang 1 前景 ...
最新文章
- mysql双机热备的实现
- 《JS设计模式笔记》 5,适配器模式
- MSP430F5529 DriverLib 库函数学习笔记(四)UART通信
- 输出有样式的php,PHP导出带样式的Excel
- 折线图后面无数据_老板让数据师分析二八法则,此图表完美解决,项目管理师专用图表...
- 【优化预测】基于matlab遗传算法优化RBF神经网络预测【含Matlab源码 451期】
- 高校GIS房地产管理系统
- maven配置阿里云镜像
- 微信小程序SHUA访问(UV)开通流 量 主
- 试题 基础练习 序列求和
- python代码怎么变成软件_从Python代码到APP,你只需要一个小工具:GitHub已超6000星
- 【单片机】一文彻底搞懂单片机程序烧录
- c语言实验设备管理系统设计作业,C语言课程设计实验设备管理系统设计
- Java爬虫之jsoup的使用
- 实现库房批次管理,先进先出原则(一次难忘的找bug经历)
- 网页调用迅雷下载文件
- Actionbar 溢出菜单背景色设置
- wdcp 如何创建用IP就可以访问的默认站点/修改默认站点
- 五部超燃科幻电影,九成没有全部看过
- html酷炫电子时钟效果,逼真的HTML5 canvas模拟时钟特效