北航操作系统课程-第一次作业-操作系统引论1

北航操作系统课程-第一次作业-操作系统引论1


北京航空航天大学计算机学院-2020春操作系统课程
题目作者为北航计算机学院操作系统课程组,答案为博主原创。水平有限,无法保证作答正确性,如有错误敬请批评指正。部分作答源自百度谷歌等其他资料,如有侵权联系删除


1 假如没有操作系统,怎样控制硬件?

如果没有操作系统,需要手动根据硬件各自不同的接口输入控制指令,分别控制不同的硬件。

以软盘IO为例,控制芯片NEC PD765有16条命令,每一条命令向一个设备寄存器装入长度从1到9字节的特定数据(读写数据、移动磁头臂、格式化磁道,及初始化、检测状态、复位、校准控制器及设备等)。以READ为例,读数据需要13个参数,要读取的磁盘块地址、磁道的扇区数、物理介质的记录格式、扇区间隙、对已删除数据地址标识的处理方法,操作结束时,控制器芯片在7个字节中返回23个状态及出错字段。

不同的硬件,其接口是有差异的,并且常常是“丑陋”的,如果有操作系统,操作系统可以完成统一管理“丑陋”的底层接口,向上提供整齐的软件接口的工作。


2 计算机系统中不同层次接口的作用?

如下图所示,计算机系统可以划分为:硬件、操作系统、系统和应用程序、用户四个层次,其中包括了ISA、ABI、API、UI等不同层次的接口。
在这里插入图片描述
ISA (Instruction Set Architecture),指令集架构。计算机指令是指挥机器工作的指示和命令,指令集是CPU中用来计算和控制计算机系统的一套指令的集合,而每一种新型的CPU在设计时就规定了一系列与其他硬件电路相配合的指令系统。指令集架构是直接控制硬件的接口。ISA涵盖的内容包含但不限于:指令格式、寻址访存、数据类型、寄存器。通常ISA都会包含以下三类指令:运算指令、分支指令、访存指令。此外还会有:架构相关指令(原子操作,内存栅栏,缓存相关的指令,TLB相关的指令等)、复杂操作指令(FFT,三角函数,平方根等)、其他特殊用途(如虚拟化指令、例外和中断,核心态/用户态等)。

ABI (Application Binary Interface),应用程序二进制接口。每个操作系统都会为运行在该系统下的应用程序提供应用程序二进制接口,ABI包含了应用程序在这个系统下运行时必须遵守的编程约定。ABI总是包含一系列的系统调用和使用这些系统调用的方法,以及关于程序可以使用的内存地址和使用机器寄存器的规定。ABI涵盖了各种细节,如:数据类型的大小、布局和对齐;调用约定(控制着函数的参数如何传送以及如何接受返回值);系统调用的编码和一个应用如何向操作系统进行系统调用;在一个完整的操作系统ABI中,目标文件的二进制格式、程序库等等。

API (Application Programming Interface),应用程序接口。API是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问原码,或理解内部工作机制的细节。API同时也是一种中间件,为各种不同平台提供数据共享。程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分。良好的接口设计可以降低系统各部分的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合程度,从而提高系统的可维护性和可扩展性。

UI (User Interface),用户界面。是系统和用户之间进行交互和信息交换的媒介,它实现信息的内部形式与人类可以接受形式之间的转换。用户界面是介于用户与硬件而设计彼此之间交互沟通相关软件,目的在使得用户能够方便有效率地去操作硬件以达成双向之交互,完成所希望借助硬件完成之工作,用户界面定义广泛,包含了人机交互与图形用户接口,凡参与人类与机械的信息交流的领域都存在着用户界面。


3 冯·诺依曼计算机的主要特点是什么?

美籍匈牙利数学家冯·诺伊曼于1946年提出存储程序原理,把程序本身当作数据来对待,程序和该程序处理的数据用同样的方式储存。半个多世纪以来,计算机制造技术发生了巨大变化,但冯· 诺伊曼体系结构仍然沿用至今,人们总是把冯· 诺伊曼称为“计算机鼻祖”。下图为冯·诺依曼体系结构的结构图:
在这里插入图片描述
冯·诺依曼体系结构的主要特点有:

  1. 采用存储程序方式,指令和数据不加区别混合存储在同一个存储器中,数据和程序在内存中是没有区别的,它们都是内存中的数据。指令和数据都可以送到运算器进行运算,即由指令组成的程序是可以修改的。
  2. 存储器是按地址访问的线性编址的一维结构,每个单元的位数是固定的。
  3. 指令由操作码和地址码组成。操作码指明本指令的操作类型,地址码指明操作数和地址。操作数本身无数据类型的标志,它的数据类型由操作码确定。
  4. 通过执行指令直接发出控制信号控制计算机的操作。指令在存储器中按其执行顺序存放,由指令计数器指明要执行的指令所在的单元地址。指令计数器只有一个,一般按顺序递增,但执行顺序可按运算结果或当时的外界条件而改变。
  5. 以运算器为中心,I/O设备与存储器间的数据传送都要经过运算器。
  6. 数据以二进制表示。
发布了12 篇原创文章 · 获赞 2 · 访问量 496

猜你喜欢

转载自blog.csdn.net/JeremyZhao1998/article/details/104718163