第一章 概述
1.操作系统的功能有哪些?
(1)处理器管理:负责处理用户提交的任何要求;
(2)存储管理:有效地管理计算机的内存资源,存放程序和数据;
(3)设备管理:对外围设备启动,对磁盘驱动调度,处理外围设备中断事件,设备分配和回收,实现虚拟设备;
(4)文件管理:操作系统提供了对计算机存储设备上文件和目录的组织和管理,包括文件的创建、读取、写入、删除和权限控制等操作;
(5)用户接口:方便用户使用计算机资源所建立的用户和计算机之间的联系。
2.举例说明目前流行操作系统发布版本Windows与Linux的区别。
(1)开放源码:Linux是一种开源免费操作系统,用户可以自由地查看、修改和分发代码,Windows是闭源私有的操作系统,用户无法查看或修改源代码;
(2)安全性:Linux存在更多的安全审查和改进机会,使得在安全性上Windows更好,Linux的权限管理更严格;
(3)用户体验:Windows通过图形化用户界面提供更直观和友好的用户体验,Linux的用户体验更注重效率和定制性;
(4)应用软件:Windows上拥有更多的商业和专业应用软件,Linux上针对服务器应用和开发人员技术的需求;
(5)内核结构; Windows内核是微内核结构,将许多关键组件放在用户模式下运行,以提高可靠性和安全性,Linux内核是单内核结构,将大部分功能都集成到内核中,以提高性能和效率;
(6)硬件兼容性:Windows的硬件兼容性比Linux更好一些。
3.简述计算机实现多道程序设计需要解决哪些问题。
(1)存储保护和程序浮动
(2)处理器的管理和分配
(3)系统资源的管理和调度
4.单道批处理与多道批处理的异同点有哪些?
相同点:共同致力于提高计算机系统的工作效率,简化用户的操作和管理,实现自动化的作业处理;
不同点:单道批处理适用于资源较少的环境,要求作业执行稳定;多道批处理适用于高效利用资源、提高系统吞吐量和响应时间的场景,可以同时处理多个小型作业。
5.操作系统的基本分类有哪些?
(1)单用户操作系统
(2)嵌入式操作系统
(3)分布式操作系统
(4)多处理并行操作系统
(5)虚拟化操作系统
(6)分时操作系统
(7)实时操作系统
(8)网络操作系统
6.试比较说明分时系统与实时系统的差别。
(1)交互性强弱不同,分时系统交互性强,实时系统交互性弱但可靠性要求高;
(2)响应时间的敏感程度不同,分时系统是以用户能够接收的等待时间为系统的设计依据,实时系统是以被测物体所能接受的延迟为系统设计依据;
(3)系统的设计目标不同,分时系统是设计成一个多用户的通用系统,实时系统大多是专用系统。
7.简述操作系统是如何对一个用户程序进行处理的。
(1)用户打开程序,程序开始执行;
(2)操作系统将程序内容和相关数据送入到计算机的内存;
(3)CPU根据程序内容从内存中读取指令;
(4)CPU分析,处理指令并未下一条指令做准备;
(5)取下一条指令分析、处理,如此重复操作,直至执行完程序中全部指令,最后将计算的结果放入指令指定的存储器地址中。
8.系统提供给用户的接口有哪些?
(1)联机命令
(2)系统调用
(3)图形接口
9.什么是系统调用?
系统调用:是应用程序与操作系统进行交互的关键机制之一,提供一种标准化的接口,使得应用程序能够充分利用操作系统的功能和资源。
10. 简述系统调用与一般过程调用的区别。
(1)运行状态不同
(2)进入的方式不同
(3)代码层次不同
11.什么是CPU的态?为什么要分态?
(1)CPU的态:CPU的工作状态;
(2)为区分CPU执行的是系统程序还是用户程序,同时,也为保护操作系统,而将CPU分为两个状态。
12.一个多道批处理系统中有3个作业,分别是p1,p2和p3,p2比p1晚3ms到达,p3比p2晚5ms到达,它们的CPU计算和I/O操作情况如下:
p1: 计算40ms,I/O操作80ms,计算30ms。
p2: 计算60ms,I/O操作140ms,计算60ms。
p3: 计算50ms,I/O操作80ms,计算60ms。
不考虑调度和进程切换时间,请计算这三道作业全部执行完毕所需的最短时间。
400ms(下图为此题讲解过程,如图分析)
13.如何理解操作系统的虚拟特征?
虚拟性表现为把一个物理实体转变为若干个逻辑实体,物理实体是真实存在的,逻辑实体是虚拟的
14.根据本章所学知识翻译如下内容
All modern computers can do several things at the same time. While running a user program, a computer can also be reading from a disk and outputting text to a screen or printer. In a multiprogramming system(多道程序系统), the CPU also switches from program to program, running each for tens or hundreds of milliseconds. While, strictly speaking, at any instant of time, the CPU is running only one program, in the course of 1 second, it may work on several programs, thus giving the users the illusion of parallelism. Sometimes people speak of pseudoparallelism(伪并行) in this context, to contrast it with the true hardware parallelism of multiprocessor systems (which have two or more CPUs sharing the same physical memory). Keeping track of multiple, parallel activities is hard for people to do. Therefore, operating system designers over the years have evolved a conceptual model (sequential processes) that makes parallelism easier to deal with.
In this model, all the runnable software on the computer, sometimes including the operating system, is organized into a number of sequential processes, or just processes for short. A process is just an executing program, including the current values of the program counter, registers, and variables. Conceptually, each process has its own virtual CPU. In reality, of course, the real CPU switches back and forth from process to process, but to understand the system, it is much easier to think about a collection of processes running in (pseudo) parallel, than to try to keep track of how the CPU switches from program to program. This rapid switching back and forth is called multiprogramming.
所有的现代计算机都可以同时做几件事。在运行用户程序时,计算机也可以从磁盘上读取并将文本输出到屏幕或打印机。在多道程序设计系统中, CPU还从一个程序切换到另一个程序,每个程序运行数十或数百毫秒。严格来说,在任何时刻,CPU都只运行一个程序,而在1秒的时间里,它可能会处理多个程序,从而给用户带来并行的错觉。有时人们谈到伪并行,在这种情况下,将其与多处理器系统(具有共享同一物理内存的两个或多个CPU)的真正硬件并行性进行对比。人们很难追踪多个平行的活动。因此,操作系统设计者多年来已经发展出一种概念模型(顺序过程),使并行性更容易处理。
在这个模型中,计算机上所有可运行的软件,有时包括操作系统,都被组织成多个顺序进程,或者简称为进程。进程只是一个正在执行的程序,包括程序计数器、寄存器和变量的当前值。从概念上讲,每个进程都有自己的虚拟CPU。当然,在现实中,真正的CPU在一个进程与另一个进程之间来回切换,但要理解系统,思考一组以(伪)并行方式运行的进程要比跟踪CPU如何从一个程序切换到另一个程序容易得多。这种快速的来回切换称为多道程序设计。