`
bsr1983
  • 浏览: 1131830 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

第2章 计算机系统结构简介

 
阅读更多

2.1 计算机系统结构

2.1.1 层次结构

现代的通用计算机系统是由硬件和软件组成的一种层次式结构。最内层是硬件系统,最外层是使用计算机系统的人,人与硬件系统之间是软件系统。

硬件系统主要由中央处理器(CPU)、存储器、输入/输出控制系统和各种输入/输出设备组成。

软件系统包括系统软件、支撑软件和应用软件三部分。

系统软件是计算机系统中与硬件结合最紧密的软件,也是计算机系统中必不可少的软件。例如,操作系统、编译系统都是系统软件。操作系统的功能是实现资源的管理和控制程序的执行。编译系统的功能是把用高级语言所写的源程序翻译成计算机可执行的由机器语言(指令)表示的目标程序。

支撑软件是可支持其他软件的开发和维护的软件。例如,数据库、各种接口软件、软件开发工具等都是支撑软件。

应用软件是按特定领域中的某种需要而编写的专用程序。例如,财务管理、人口普查等专用程序均属应用软件。

2.1.2 系统工作框架

任何一个计算机系统都有“引导程序”(或称初启程序),当操作员接通计算机电源或重新启动系统时,计算机系统立即自动执行该引导程序。引导程序首先进行系统初始化的工作,然后把操作系统中的核心程序装入主存储器,并让操作系统的核心程序占用处理器执行。

2.2 硬件环境

2.2.1 CPU与外设的并行工作

在现代的通用计算机系统中,都是通过输入/输出控制系统完成外围设备与主存储器之间的信息传送。各种外围设备连接在相应的设备控制器上。这些设备控制器又通过通道连接在公共的系统总线上。

2.2.2 存储体系

在计算机系统中用来存放程序和数据的部件是存储器。现代计算机系统都采用多级存储体系,它包括寄存器、主存储器、高速缓冲存储器和辅助存储器。

1. 寄存器

寄存器是处理器的组成部分,用来存放处理器的工作信息。

(1) 通用寄存器。存放参加运算的操作数、指令的运算结果等。

(2) 指令寄存器。存放当前从主存储器读出的命令。

3) 控制寄存器。存放控制信息以保证程序的正确执行和系统的安全。常用的控制寄存器有程序状态字寄存器、中断字寄存器、基址寄存器、限长寄存器等。

程序状态字寄存器:存放当前程序执行时的状态。

中断寄存器:记录出现的事件。

基址寄存器:设定程序执行时可访问的主存空间的开始地址。

限长寄存器:设定程序执行时可访问的主存控件的长度。

2. 主存储器

在计算机系统中,任何程序和数据都必须在装入主存储器之后才能对其进行操作。主存储器以“字节”为单位进行编址。若干个字节可组成一个“字”。

3. 高速缓冲存储器

位于处理器和主存储器之间的cache起到了缩短存取事件和缓冲存储的作用,故称其为高速缓存存储器。

4. 辅助存储器

磁盘和磁带是最常用的辅助存储器。辅助存储器的优点是容量大且能永久地保存信息,但它们不能被中央处理器直接访问。

2.2.3 保护措施

下面介绍硬件的部分保护措施,在后面的章节里讲看到操作系统是怎样与硬件合作来实现对用户程序的保护。

1. 特权指令

为保证计算机系统能正确可靠地工作,硬件把由中央处理器执行的指令分为两类:特权指令和非特权指令。不允许用户程序中直接使用的指令称为特权指令,其余的称为非特权指令。例如,“启动I/O”、设置时钟、设置控制寄存器等一类可能影响系统安全的指令都属于特权指令。

特权指令只允许操作系统程序使用,用户程序不得使用特权指令。

2. 管态和目态

中央处理器设置了两种工作状态:管态和目态。当中央处理器处于管态时可执行包括特权指令在内的一切机器指令,当中央处理器处于目态时不允许执行特权指令。

3. 存储保护

每个程序在主存中占一个连续的存储空间。硬件设置两个寄存器:一个称为“基址寄存器”,另一个称为“限长寄存器”,用来限定用户程序执行时可以访问的主存空间范围。

2.3. 操作系统结构

2.3.1 设计目标

操作系统的设计应追求下列目标。

1. 正确性

2. 高效性

3. 维护性

4. 移植性

所谓移植性,是指能否方便地把操作系统从一个硬件环境移植到另一个新的硬件环境之中。

2.3.2 操作系统的层次结构

操作系统结构的设计方法有无序模块法、内核扩充法、层次结构法、管程设计法等。

2.3.3 UNIX系统的结构

UNIX是一个交互式的分时操作系统。从结构上看,UNIX可以分成内核层和外壳层两部分。

内核层是UNIX操作系统的核心,它具有存储管理、文件管理、设备管理、进程管理等功能,以及为外壳层提供服务的系统调用。外壳层为用户提供各种操作命令(UNIX把它们称为shell命令)和程序设计环境。外壳层由shell解释程序、支持程序设计的各种语言(如CPASCALBASIC等)、编译程序、解释程序、实用程序和系统库等组成。

UNIX系统不允许外壳程序直接访问和干扰内核程序。因此,UNIX系统提供两种程序运行环境,即用户态和核心态。外壳层的程序在用户态运行,内核层的程序在核心态运行。UNIX把在用户态运行的程序称为用户程序,把在核心态运行的程序称为系统程序。

2.4 操作系统与用户的接口

操作系统为用户提供两种类型的使用接口,一种是操作员级的接口,另一种是程序员级的接口,以便用户与操作系统建立联系。操作员级的接口是一组操作控制命令,它们供用户提出如何控制作业执行的要求。程序员级的接口是一组系统功能调用,它们为用户程序提供服务功能。

2.4.1 操作控制命令

操作系统提供了让联机用户(操作员一级)表示作业执行步骤的手段:操作控制命令。

2.4.2 系统调用

操作系统编制了许多不同功能的子程序(例如,读文件子程序,写文件子程序,分配主存空间子程序,启动I/O子程序等),供用户程序执行中调用。这些由操作系统提供的子程序称为系统功能调用程序,简称系统调用。

系统调用应是在管态下执行的程序。

现代计算机系统的硬件系统都有一条“访管指令”。这是一条可在目态下执行的指令。

不同的操作系统提供的系统调用不全相同。大致上可分为如下几类。

1.文件操作类

这类系统调用有打开文件、建立文件、读文件、写文件、关闭文件、删除文件等。

2.资源申请类

用户调用系统功能请求分配主存空间、归还主存空间、分配外围设备、归还外围设备等。

3.控制类

执行中的程序可以请求操作系统中止其执行或返回到程序中的某一点再继续执行。操作系统要根据程序中止的原因和用户的要求作出处理。因而这类系统调用有正常结束、异常结束、返回断点/指定点等。

4.信息维护类

例如,设置日历时间、获取日历时间、设置文件属性、获取文件属性等。

2.5 UNIX的用户接口

2.5.1 shell命令

UNIX提供操作控制命令称为shell命令,一组shell命令组成了shell命令语言。

UNIX是一个多用户的分时操作系统。每个用户在使用shell命令前必须先在系统中注册登录,以便系统识别和区分使用系统的每个用户,并且能保证每个用户的程序和数据不被其他用户破坏。

Shell解释程序以交互方式为用户服务。每当做好接收一条命令的准备时,就会显示一个提示符,对于不同版本的UNIX系统提供的shell命令会有差异,故它们采用不同的提示符来区分。例如,Bourne shell的提示符是$C shell的提示符是%.

UNIX规定,只要在请求后台执行的命令末尾输入字符“&”,系统在执行命令时,若发现末尾有“&”符号,则就把实现这条命令功能的程序转入后台执行。

UNIX系统允许用户把若干条shell命令编辑成一个文件,来表示一组命令的执行顺序,用shell命令编辑成的文件称为shell文件。

2.5.2 UNIX系统调用

UNIX的内核为外壳层的用户程序提供了一组系统调用。它们是外壳的用户程序请求UNIX为其服务的唯一形式。

UNIX中,规定用户用“trap”指令(UNIX中的访管指令)来请求系统调用。

由于用户程序在用户态运行,系统调用处理程序是在核心态允许,而在用户态和和心态运行的程序分别占用不同的存储空间,所以,在进行系统调用处理时必须把用户程序提供的参数从用户态的存储区域(用户数据区)传送到核心态的存储区域(系统工作区)。

UNIX设置了一张“系统调用程序入口表”。该表中每个表项的内容都包含有系统调用编号、系统调用所带参数个数、系统调用程序入口地址、系统调用名称。

分享到:
评论

相关推荐

    计算机系统结构第二章作业及答案.pdf

    计算机系统结构第二章作业及答案.pdf 这份文件涵盖了计算机系统结构的第二章作业及答案,主要涉及指令集结构、CISC 和 RISC 指令集结构、寻址方式、指令格式等计算机系统结构的知识点。 1. 区别不同指令集结构的...

    计算机系统结构--第三章

    清华大学计算机系统结构课程讲义--第三章02

    计算机系统结构--第二章

    清华大学计算机系统结构课程讲义--第二章02

    计算机系统结构第三章(习题解答).pdf

    计算机系统结构(第三版)张晨曦 课后答案 2.翻译——(基于层次结构)先把N+1级程序全部变换成N级程序之后,再去执行N 级程序,在执行过程中,N+1级程序不再被访问。 3.解释——每当一条N+1级指令被译码后,就直接...

    计算机系统结构 第2版 习题解答 郑纬民 汤志忠.rar

    计算机系统结构第二版的典型习题及答案 部分习题 题1.1 有一个经解释实现的计算机,可以按功能划分成4级。每一级为了执行一条指令需要下一级的N条指令解释。若执行第1级的一条指令要K ns时间,那么执行第2、第3、第4...

    计算机系统结构(第2版)(PPT)及课后答案

    《计算机系统结构(第2版)》是由郑纬民和汤志忠编著的清华大学计算机系列教材,这是一本深入探讨计算机系统结构的权威著作。该书以PPT形式提供了全面的教学材料,包括课后答案,旨在帮助学习者更好地理解和掌握...

    计算机系统结构(第五版)李学干

    2. **第二章:处理器设计** 本章详细讲解了处理器的内部结构,如指令集、CPU的运算单元、控制单元和寄存器等。还探讨了不同类型的微处理器架构,如RISC和CISC的区别。 3. **第三章:存储系统** 存储系统是...

    计算机系统结构ppt 张晨曦

    《计算机系统结构》是计算机科学领域的一门核心课程,由张晨曦教授主讲的这门课件,主要涵盖了计算机硬件和软件之间的交互,以及如何设计和优化这些系统的原理。本课件由高等教育出版社出版,旨在帮助学生和专业人士...

    计算机系统结构课后答案 李学干

    "计算机系统结构课后答案 李学干" 在计算机系统结构中,理解计算机系统的架构和组成部分对于设计和实现计算机系统至关重要。本节课后答案涵盖了计算机系统结构的基本概念、指令系统、存储器系统、输入/输出系统和...

    计算机系统结构张晨曦版课后答案.pdf

    2. 计算机系统结构的其他概念 2.1 系统加速比 系统加速比是指对系统中某部分进行改进时,改进后系统性能提高的倍数。 2.2 Amdahl 定律 Amdahl 定律是指当对一个系统中的某个部件进行改进后,所能获得的整个系统...

    计算机系统结构教材及课后答案

    第二章至第四章可能会详细讲解处理器设计,包括指令集体系结构、微架构设计以及流水线技术。这些章节会涉及指令的分类、寻址模式、控制单元的设计,以及提高处理器性能的并发执行、超标量和乱序执行等概念。 第五章...

    计算机系统结构--第五章

    清华大学计算机系统结构课程讲义--第五章01

    计算机系统结构+课后答案

    第1章“计算机系统结构导论”介绍了计算机系统的整体框架,包括处理器、内存、输入/输出设备以及它们如何协同工作。这一章通常会涉及冯·诺依曼体系结构的基本概念,以及计算机性能的度量标准,如CPU时钟速度、 MIPS...

    计算机系统结构-笔记(02325)自考

    第六章至第八章的内容涉及了计算机指令系统、存储体系、多处理机、数据流计算机和归约机的详细知识,包括数据表示、寻址方式、指令系统设计、存储层次、中断与总线、I/O系统、向量处理和多处理机的硬件结构,以及...

    清华大学郑伟民《计算机系统结构》第二版课后习题

    随后,第二章至第四章深入到处理器设计的核心领域。处理器是计算机的心脏,而本部分的习题涵盖了运算器、控制器、寄存器等部件的工作原理。例如,ALU(算术逻辑单元)设计的习题要求学生理解ALU是如何执行基本的算术...

    计算机系统结构课件:第1章 计算机系统结构的基本概念.ppt

    《计算机系统结构课件:第1章 计算机系统结构的基本概念.ppt》以其丰富的内涵,为学习者提供了计算机系统架构演进的历史脉络和关键定义,以及实现高性能计算的重要技术。 计算机技术的起源可追溯至1946年,当时第一...

    西安交大计算机系统结构第二章讲义

    西安交通大学的计算机系统结构课程由郑庆华教授主讲,其中第二章重点讲解了指令系统。这一章节深入探讨了指令集结构的分类、设计原则及其在计算机系统中的关键作用。以下是对这一章节核心知识点的详细解析。 ### ...

Global site tag (gtag.js) - Google Analytics