zoukankan      html  css  js  c++  java
  • 操作系统 庞丽萍 第四版 第三章学习

    1.系统生成:就是操作系统的生成过程。是指为了满足物理设备的约束和需要的系统功能,通过组装一批模块来产生一个清晰的、使用方便的操作系统的过程。系统生成包括:根据硬件部件确定系统构造的参数,编辑系统模块的参数,连接系统模块成为一个可执行的程序,以文件的形式存储在磁盘的特定位置上。

    2. 系统引导的主要任务:系统引导又叫系统初启,它的主要任务是将操作系统的必要部分装入主存,并使得系统运行,直至最终处于命令接受状态。

    3.处理应用程序分哪几个作业步? 

    答:①用某种预言编制一个程序,该程序被称为源程序。 
    ②将源程序和初始数据记录在某种输入介质上,一般在终端设备上直接编辑源程序。③按照一定的要求控制计算机工作,并经过加工,最终计算出结果。

    计算机对用户算题任务的加工过程一般分哪几个作业步?各作业步之间的关系如何?

    主要包括以下四个作业步:编辑,编译,连接,运行。

    各作业步之间的关系如下:前一个作业步的结果是下一个作业步的操作对象;一个作业步的成功完成依赖于上一个作业步的成功完成。

    4.静态连接VS动态链接:

       静态连接是将所需的外部调用函数连接到目标文件中形成一个完整的主存映像文件,其缺点是当有多个应用程序都需要调用同一个库函数时,这些应用程序的目标文件中都将包含这个外部函数对应的代码,造成主存的极大浪费;动态链接将这一连接工作延迟到了程序运行的时候进行,它不需要将应用程序所需要的外部函数代码从库中提取出来并连接到目标文件中,而是在应用程序需要调用外部函数的地方做记录,并说明要使用的外部函数名与引用入口号,形成调用链表。

     5.用户与操作系统的接口:又称为用户界面,是操作系统提供给用户与计算机打交道的外部机制,用户能够借助这种机制和系统提供的手段来控制用户所在的系统。

                                      用户界面/接口 主要包括操作界面/命令 和 程序界面/系统功能调用。其中操作界面包括作业控制语言、键盘命令、图形化用户界面,程序界面就是指的系统功能调用。

                                    采用脱机处理方式的批处理系统提供的界面有系统功能调用和作业控制语言,而采用联机交互式处理方式的分时系统采用的界面有系统功能调用和键盘命令。

       

    6.什么是系统调用?对操作系统的服务请求与一般的子程序调用有什么区别?

     

    答:系统调用是操作系统提供给编程人员的惟一接口。编程人员利用系统调用,在源程序一级动态请求和释放系统资源,调用系统中已有的系统功能来完成那

    些与机器硬件部分相关的工作以及控制程序的执行速度等。因此,系统调用像一个黑箱子那样,对用户屏蔽了操作系统的具体动作而只提供有关的功能。系

    统调用与一般过程调用的主要区别如下: 系统调用程序是在核心态执行,调用它们需要一个类似于硬件中断处理的中断处理机制来提供系统服务。

     7. 假定某系统提供硬件的访管指令(例如形式为“svc n”),为了实现系统调用,系统设计者应作哪些工作?用户又如何请求操作系统服务?

         为了实现系统调用,系统设计者应该做如下工作:(1)必须实现准备好实现各种功能的例行子程序,然后要建造好例行子程序入口地址表;(2)系统还需要编制访管中断处理程序,其功能是:做常规的现场保护后,取得地址偏移值,然后安排一条转移指令。

         而用户程序中,在需要操作系统服务的地方安排一条系统调用,需要指令提供一个地址码。这个地址码表示系统调用的功能号,它是操作系统提供的众多的例行子程序的编号。在访管指令中填入相应的号码,就能使控制转到特定的例行子程序去执行以提供用户当前所需的服务。

    8.简述系统调用的执行过程。 
    答:系统调用命令的具体格式因系统而异,但由用户程序进入系统调用的步骤及执行过程大体相同:

    首先,将系统调用命令所需的参数(如功能号)或参数区首址装入指定寄存器;然后,在用户程序中适当的位置安排一条调用系统功能指令。至于系统调用命令的功能号,有的系统直接在调用指令中给出,有的系统则把它作为系统调用命令的参数,在调用时放入指定寄存器。 
    当用户程序执行到调用系统功能的指令时,就转到系统调用的处理程序执行。其过程如下: 
    (1)为执行系统调用命令做准备,即将用户程序的“现场”保存起来,同时把系统调用命令的编号等参数放入约定的存储单元。 
    (2)根据系统调用命令的编号查找系统调用入口表,找到相应系统功能调用子程序的入口地址,然后转到该子程序执行。当系统调用命令执行完毕,相应的结果通常返回给参数,这些参数放在约定的存储单元里。

    (3)系统调用命令执行完毕后的处理,包括恢复用户程序执行的“现场”信息,同时把系统调用命令的返回参数或参数区首址放入指定的寄存器中,以供用户程序使用。

  • 相关阅读:
    bless for you...
    Unity3D 热更新方案(集合各位专家的汇总)
    Unity与iOS原生代码之间的相互调用
    unity android相互调用
    unity3d资源打包总结
    Unity3D热更新LuaFramework入门实战
    unity插件开发
    Unity3D性能优化总结
    正确释放Vector的内存
    CCLuaObjcBridge
  • 原文地址:https://www.cnblogs.com/jiayouwyhit/p/3577454.html
Copyright © 2011-2022 走看看