操作系统期末考试必会题库1——引言+用户界面

news2024/12/26 11:37:34

1.请简要描述操作系统的定义及其功能。

操作系统定义:
是计算机系统中的一个系统软件,是一些程序模块的集合 ,它们管理和控制计算机系统中的软硬件资源,合理的组织计算机的工作流程,以便有效的利用这些资源为用户提供一个功能强大、使用方便和可扩展的工作环境,从而在计算机与其用户之间起到接口的作用。(管理计算机软硬件资源,从而让计算机协调正确为用户工作)

操作系统的功能(6点,前5点最重要):
(1)处理机管理
(2)存储管理
(3)设备管理
(4)文件系统管理
(5)用户接口

(6)其他功能(健壮性管理:如何确保操作系统自身的正常运作。安全性管理:即如何防止非法操作和入侵。)

 2.为什么引入多道程序设计技术?

由于单道批处理CPU和I/O设备的运行是串行的,即在程序进行输入输出时,CPU只能等待。为了实现并发,使得CPU和I/O重叠起来运行,可将多个程序同时加载到计算机内存里,能够进一步提高资源的利用率和系统中作业的吞吐量,因而引进了多道程序技术

3.什么是多道批处理、分时和实时操作系统?各有什么特点?请简要阐述。

多道批处理:

(1)定义:批处理系统中采用多道程序设计技术,就形成了多道批处理系统

(2)特点:

1)多道:计算机内存中同时存放几道相互独立的作业

2)宏观上并行:同时有多道作业有内存运行,某一时间段上,各道作业不同程度地向前推进

3)微观上串行:任一时刻最多只有一道作业占用CPU,多道作业交替使用CPU

分时操作系统:

(1)定义:一般采用时间片轮转的方式,使一台计算机为多个终端用户服务。对每个用户能保证足够快的响应时间,并提供交互会话能力。

(2)特点:

1)交互性:可人机对话,用户可以在程序动态运行情况下对其加以控制;用户上机提交作业方便

2)多用户同时性:共享CPU和其他资源,充分发挥系统的效率。

3)独立性:每一用户独占一个终端。 及时性:用户的请求能在很短的时间内获得响应

实时操作系统:

(1)定义:是以在允许时间范围之内做出响应为特征的。它要求计算机对于外来信息能以足够快的速度进行处理,并在被控对象允许时间范围内做出快速响应,其响应时间要求在秒级、毫秒级甚至微秒级或更小。

(2)特点:

1)高响应性(在允许时间范围之内作出响应)

2)高可靠性、高安全性

3)具有一定的专用性,与批处理和分时系统相比,资源利用率和吞吐量可能较低.

 4.一个多道批处理系统中仅有P1和P2两个作业,P2比P1晚5ms到达,它们的计算和I/O操作顺序如下。
P1:计算60ms,I/O操作80ms ,计算20ms
P1:计算120ms, I/O操作40ms ,计算40ms
不考虑调度和切换,请计算完成两个作业需要的最少时间

5.若某计算问题的执行情况如图所示,请回答下列问题:

(1)叙述该计算问题中处理机、输入机和打印机是如何协同工作的。
(2)计算在图所示的情况下处理机的利用率。
(3)简述处理机利用率不高的原因。
(4)请画出能提高处理机利用率的执行方案。

6.操作系统为用户提供哪两类接口?每类接口有哪些表现形式?

1.命令控制界面:为用户提供的各种命令接口界面,用户可利用这些操作命令来组织和控制作业的执行或管理计算机系统。表现形式有菜单、命令行、图形界面、作业控制语言(命令)等。

2.系统调用:编程人员通过系统调用来请求操作系统提供服务,调用系统中已有的系统功能。表现形式例如申请和释放外设等资源、控制程序的执行速度等

 7.什么是系统调用?OS提供系统调用的原因是什么?简述系统调用的实现过程。

系统调用定义:

也称应用编程接口API允许运行程序调用操作系统的服务和功能,是OS提供给编程人员的唯一接口。
原因:
(1)用户程序通过系统调用来使用硬件,而不关心具体的硬件设备,这样大大简化了用户程序的开发。
(2)系统调用使用户程序有更好的可移植性。

(3)系统调用使得内核能够更好的管理用户程序,增强了系统的稳定性。
(4)系统调用有效的分离了用户程序和内核的开发。

实现过程:

(1)编写系统调用处理程序

(2)设计一张系统调用入口地址表,每个入口地址都指向一个系统调用的处理程序

(3)陷阱(trap或称陷入)处理机制,将陷阱指令中所包含的指令号与该入口地址表对应起来

(4)需开辟现场保护区,以保存发生系统调用时的处理器现场

总结就是: 用户在程序中使用系统调用,给出系统调用名和函数后,即产生一条相应的陷入指令,通过陷入处理机制调用服务,引起处理机中断,然后保护处理机现场,取系统调用功能号并寻找子程序入口,通过入口地址表来调用系统子程序,然后返回用户程序继续执行。

 8.系统调用、异常和中断的区别和联系?

中断(Interruption)也称外中断,是指来自CPU执行指令外部的事件,通常用于信息输入/输出,如设备发出的I/O结束中断,表示设备输入/输出处理已经完成。
异常(Exception)也称内中断,是指来自CPU执行指令内部的事件,如程序的非法操作码、地址越界、运算溢出、虚存系统的缺页及专门的陷入指令等引起的事件。异常不能被屏蔽,一旦出现,就应立即处理。
异常可分为故障、自陷。故障(Fault)通常是由指令执行引起的异常,如非法操作码、缺页故障、除数为0、运算溢出等。系统调用是一种自陷(Trap),是一种事先安排的“异常”事件,用于在用户态下调用操作系统内核程序。

9.系统调用与库函数有什么区别?系统调用和函数调用的区别和联系?

系统调用与库函数的区别:

库函数是语言或应用程序的一部分,可以运行在用户空间中。系统调用是操作系统的一部分,是内核提供给用户的程序接口,运行在内核空间中,库函数可以理解为是对系统调用的一层封装。

系统调用和函数调用的区别:

1>运行状态不同 系统调用的调用过程和被调用过程运行在不同的状态,而普通的过程调用一般运行在相同的状态。

2>调用方法不同 系统调用必须通过软中断机制首先进入系统核心,然后才能转向相应的命令处理程序。普通过程调用可以直接由调用过程转向被调用过程。

3>返回问题 在采用抢先式调度的系统中,当系统调用返回时,要重新进行调度分析――是否有更高优先级的任务就绪。普通的过程调用直接返回调用过程继续执行。

系统调用和函数调用的联系:

许多函数调用会使用系统调用用来实现功能,没有使用系统调用的库函数,它的执行效率通常要比系统调用的高。

10.处理机为什么要区分核心态和用户态?在什么情况下进行两种方式的切换?

原因:

(1)在cpu中运行的操作系统程序和用户程序对应的机器指令集是不同的。操作系统使用所有指令,但是用户程序只能使用部分指令。

(2)从资源管理和程序控制执行的角度出发,将指令系统分为两大部分:特权指令和非特权指令。为了保护系统程序不被应用程序有意或无意地破坏,为计算机设置了两种状态:1.系统态(也称为管态、内核态或核心态)2.用户态(也称为目态)。

在什么情况下进行两种情况的切换:

有3种情况:

中断、系统调用和异常(也叫陷阱)(全为中断措施,但发生的原因不同,叫法不同)

(1)系统调用 这是用户态进程主动要求切换到内核态的一种方式,用户态进程通过系统调用申请使用操作系统提供的服务程序完成工作,比如fork()实际上就是执行了一个创建新进程的系统调用。而系统调用的机制其核心还是使用了操作系统为用户特别开放的一个中断来实现,例如Linux的int 80h中断。

(2)中断 当外围设备完成用户请求的操作后,会向CPU发出相应的中断信号,这时CPU会暂停执行下一条即将要执行的指令转而去执行与中断信号对应的处理程序,如果先前执行的指令是用户态下的程序,那么这个转换的过程自然也就发生了由用户态到内核态的切换。比如硬盘读写操作完成,系统会切换到硬盘读写的中断处理程序中执行后续操作等。

(3)异常 当CPU在执行运行在用户态下的程序时,发生了某些事先不可知的异常,这时会触发由当前运行进程切换到处理此异常的内核相关程序中,也就转到了内核态,比如缺页异常。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/124171.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux用户权限详解

为什么有人冲了钱就能享受至尊VIP待遇?为什么冲了黄钻、绿钻、紫钻就会享受一些特殊活动呢?我们起初都是一群普通用户,为什么有些人就能通过某些手段得到一些异于常人的服务呢?这其中的奥秘是什么呢?接下来带大家了解这…

【Vue】course_1

一、vue简介 Vue是一款用于构建用户界面的 JavaScript 框架。 它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。 无论是简单还是复杂的界面,Vue 都可以胜任。 二、vue3选项式…

ASEMI肖特基二极管MBR30100CT和MBR40200PT有什么区别

编辑-Z 别看ASEMI肖特基二极管MBR30100CT和MBR40200PT两种型号从名字上看很像,其实他们的参数和封装都是不一样的,具体MBR30100CT和MBR40200PT有什么区别呢? 肖特基二极管MBR30100CT参数: 型号:MBR30100CT 封装&…

[开源工具]使用Fiddler/Postman简单计算QPS[新手开箱可用]

使用Fiddler/Postman简单计算QPS1.什么是QPS?2.怎么计算QPS?3.如何使用Fiddler/Postman得到一个API接口的QPS?3.1Fiddler使用3.2Postman使用4.如何得到本机的核心数?5.根据公式计算QPS?6.扩展计算单机可支撑PV(理论值)?1.什么是QPS? qps即每秒查询率,是对一…

Postfix + Extmail 企业邮件服务器搭建

ExtMail套件用于提供从浏览器中登录、使用邮件系统的Web操作界面,而Extman套件用于提供从浏览器中管理邮件系统的Web操作界面。它以GPL版权释出,设计初衷是希望设计一个适应当前高速发展的IT应用环境,满足用户多变的需求,能快速进…

数据预处理和特征工程-sklearn

数据挖掘的五大流程: 获取数据数据预处理 数据预处理是从数据中检测,纠正或删除损坏,不准确或不适用于模型的记录的过程。 数据预处理的目的:让数据适应模型,匹配模型的需求特征工程 特征工程是将原始数据转换为更能代…

NLP 中文智能纠错 API 数据接口

NLP 中文智能纠错 API 数据接口 专注于中文语句智能纠错,基于 NLP,多模型参与纠错。 1. 产品功能 秒级 NLP 智能纠错性能;NLP 加载多个模型进行纠错处理;返回纠正字符以及对应位置索引;底层模型以及语料库持续更新集…

正大国际期货:五十句期货投资理念

1.许多期货投资人交易时没有计划。交易前,他们既不设定风险限度,也不设定盈利目标。即使是制定了计划,他们总是“半路出家”,并不坚持既定的计划,尤其是在出现亏损的情况下。结果往往是过量操作,把自己逼在…

Android 操作系统简介

Android 操作系统简介1. 起源2. 操作系统市场占有率3. Android 系统架构3.1 Linux Kernel3.2 Hardware Abstraction Layer (HAL)3.3 运行时 系统库3.3.1 Android Runtime3.3.1 Native C/C Libraries3.4 Java API Framework3.5 System Apps1. 起源 安卓(Android&…

程序员年底如何升职加薪?这份涨薪指南来了!

年底了,这个时间节点对于各个公司来说都很重要。 今年大家也知道情况,互联网整体行情都不太好,国外也不好过,硅谷裁员大刀阔斧,实实在在的 感受到了寒意。 能顺利熬到年底的程序员,现在就会关心“公司会普调…

一分钟搞定Netty 三大组件,如果搞不定,再看3遍

1. 三大组件简介 Channel 与 Buffer Java NIO 系统的核心在于:通道 (Channel) 和缓冲区 (Buffer)。通道表示打开到 IO 设备 (例如:文件、套接字) 的连接。若需要使用 NIO 系统,需要获取用于连接 IO 设备的通道 以及用于容纳数据的缓冲区。然…

黑客使用虚假 DDoS 保护页面分发恶意软件

WordPress 网站被黑客入侵后显示欺诈性 Cloudflare DDoS 保护页面,这些页面被用于分发恶意软件(例如 NetSupport RAT 和 Raccoon Stealer)。 “最近针对 WordPress 网站的 JavaScript 注入激增,通过弹出虚假的 DDoS 阻止提示&…

DaVinci:跟踪器 - 窗口

调色页面:跟踪器Color:Tracker跟踪器 - 窗口 Tracker - Window,是 DaVinci Resolve 提供的一款强大的跟踪工具。可以利用窗口调板所设置的窗口区域,通过自动分析之后,在此区域内产生许多如云状分布的特征点&#xff08…

Java8 Stream详细用法介绍

Java8 Stream详细用法介绍一、Stream概述1.1、流的定义1.2、流与集合1.3、流的特性1.4、Stream的创建1.5、Stream操作分类二、Stream API 使用2.1 中间操作2.1.1、filter() 过滤2.1.2、map与flatMap 映射2.1.3、sorted() 排序2.2 终止操作2.2.1、forEach() 遍历2.2.2、collect(…

ThinkPHP 多应用模式下访问其他应用忽略入口文件

目录 问题描述: 解决方法: 1.配置两个域名分别指向项目public目录 2.项目全局配置域名绑定应用 问题描述: 使用TP6.0做多应用项目开发,分为前端Api和后台管理 项目中已配置地址重写规则 Api为默认应用,可忽略入…

Allegro如何手动和自动10度走线操作指导

Allegro如何手动和自动10度走线操作指导 PCB上有时需要10度走线,可以有效的避免玻纤效应的产生,尤其是在应对高速设计的时候,Allegro支持10度走线如下图 具体操作如下 选择setup Parameter选择route

50个超级有用的JavaScript单行代码

在这篇文章中,我列出了一个系列的50个 JavaScript 单行代码,它们在使用 vanilla js(≥ ES6)进行开发时非常有用。它们也是使用该语言在最新版本中为我们提供的所有功能来解决问题的优雅方式。 我将它们分为以下5大类:…

波士顿房价数据集进行数据预处理和模型训练(Python)

目录 前言 一、数据预处理定义 二、波士顿房价数据进行数据预处理 2.1 下载波士顿房价数据集 2.2 查看数据集的描述、特征及数据条数、特征数量 2.3 将数据读入pandas的DataFrame并转存到csv文件 2.4 查看数据集各个特征的类型以及是否有空值 2.5 对数据集做中心化度量&a…

自动驾驶技术平台分享:百度Apollo开放平台8.0再升级,更简单,更便捷,更高效

文章目录自动驾驶技术入门,先看平台Appllo主要优势版本更新新特性颠覆更新“新”架构全新加入软件包管理机制加入新感知模型感知全流程开放与提效全新PnC工具链写在最后自动驾驶技术入门,先看平台 近年来,自动化驾驶的话题越来越成为热点。对…

【十天成为红帽工程师】第六天 DNS域名解析服务器

目录 一、域名解析服务器的介绍 二、DNS域名解析的过程 三、搭建DNS服务器 一、域名解析服务器的介绍 DNS(Domain Name System)是互联网上的一项服务,它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互…