【搞定操作系统】---《操作系统精髓与设计原理》读书笔记:第 1 章:计算机系统概述

本文目录:

1、计算机的基本构成

2、指令的执行

3、中断

4、存储器的层次结构

5、针对 IO 操作的三种方式


1、计算机的基本构成

一台计算机的四个主要结构化部件如下所示:

1、处理器:控制计算机的操作,执行数据的处理功能;

2、内存:存储数据和程序,此类存储器通常是易失性的,即当计算机关机时,存储器的内容会丢失;

3、输入/输出模块:在计算机和外部环境(如:硬盘、通信设备等)之间移动数据;

4、系统总线:为处理器、内存和输入/输出模块间提供通信的设施。


2、指令的执行

处理器执行的程序是由一组保存在存储器中的指令组成的。按照最简单的形式,指令处理包括两个步骤:处理器从存储器中一次读(取)一条指令,然后执行每条指令。

程序执行由不断重复的取指令和执行指令过程组成。

一个单一的指令需要的处理称为一个指令周期。


3、中断

事实上,所有计算机都提供了允许其他模块(IO,存储器)中断处理器正常处理过程的机制。

当外部设备做好服务的准备时(即当它准备好从处理器接受更多的数据时),该外部设备的 IO 模块给处理器发送一个中断请求信号。这时处理器会做响应,暂停当前程序的处理,专门去处理服务于特定 IO 设备的程序,这个程序成为中断处理程序。在对该设备的服务响应完成后,处理器恢复原先的执行任务。

保存被中断程序的所有状态信息并在以后恢复这些信息,这是十分重要的。因为中断并不是程序调用的一个例程,它可以再任何时候发生,因而可以再用户程序执行过程中的任何一点上发生,它的发生是不可预测的。

多个中断时,第一种方法是当正在处理一个中断时,禁止再发生中断;第二种方法是定义中断优先级,允许高优先级的中断打断低优先级的中断。

为适应中断产生的情况,在指令周期中要增加一个中断阶段:


4、存储器的层次结构

设计目标:多大的容量?多快的速度?多贵的价格

存储器从上至下的层次结构:寄存器 --> 高速缓存 --> 内存 --> 磁盘 --> 磁带

高速缓存:处理器执行指令的速度显然受到存储周期(从存储器中读一个字或写一个字到存储器中花费的时间)的限制,解决方法是利用局部性原理,即在处理器和内存之间提供一个容量小但速度快的存储器,成为高速缓存。

  • 高速缓存读操作 

处理器生成要读的字的地址 RA,如果这个字在高速缓存中,它将被传递给处理器;否则,包含这个字的块将被装入高速缓存,然后这个字被传递给处理器。 


5、针对 IO 操作的三种方式:

5.1、可编程 IO

处理器给相应 IO 模块发送命令,IO 模块执行请求的动作,它并不进一步通知处理器,尤其是它并不中断处理器。因此处理器在执行 IO 指令后,还要定期检查 IO 模块的状态,以确定 IO 操作是否完成;

5.2、中断驱动 IO

由处理器给 IO 模块发送 IO 命令,然后处理器继续做其他一些有用的工作。当 IO 模块准备好与处理器交换数据时,它将打断处理器的执行并请求服务。处理器和前面一样执行数据传送,然后恢复处理器以前的执行过程;

5.3、直接内存存取

当处理器要读或写一块数据时,它给 DMA(Direct  Memory  Access) 模块产生一条命令,发送以下信息(是否请求一次读或写,涉及的 IO 设备的地址,开始读或写的存储器单元,需要读或写的字数),之后处理器继续其他工作。处理器把这个操作委托给 DMA 模块,由该模块负责处理。DMA 模块直接与存储器交互,这个过程不需要处理器参与。当传送完成后,DMA 模块发一个中断信号给处理器。因此只有在开始传送和传送结束时处理器才会参与。


6、多处理器和多核计算机组织结构

每条指令是以操作序列(取指,去操作数,执行操作,存储结果)的方式执行的。

三种最流行的通过复制处理器提供并行性的手段:对称多处理器,多核计算机,集群。


下面的内容来自于《现代操作系统》一书中对“操作系统”的简单介绍:

多数计算机有两种运行模式:内核态用户态。软件中最基本的部分是操作系统,它运行在内核态。

操作系统由硬件进行保护,防止用户试图对其进行修改。操作系统和普通软件的主要区别:如果用户不喜欢某个特定的应用软件,用户可以重新写一个软件。但是不能自行写一个属于操作系统中的一部分的时钟中断处理程序。因为这个程序是由硬件保护,防止用户试图对它进行修改。

  • 什么是操作系统

操作系统就是一种运行在内核态的软件。

操作系统的作用概括起来主要有两个方面的作用:

1、操作系统创建好的抽象,并且实现和管理它所创建的抽象对象。

2、记录哪个程序在使用什么样的资源,对资源请求进行分配,评价使用代价,并且为不同的的程序和用户调解互相冲突的资源请求。

另外,对于操作系统的理解,从不同角度看的,有不同的定义:

自顶向下看:操作系统为应用程序提供基本抽象,从而使应用程序在此基础上可以组合功能。

自底向上看:操作系统用来管理复杂系统的各个部分,对资源的请求进行分配,调节不同程序见相互冲突的资源请求。

资源管理包括以下两种不同的复用方式实现多路复用共享资源:在时间上复用和在空间上复用。

在时间上复用:当一个资源在时间上复用时,不同的程序或用户轮流使用它。

在空间上复用:每个客户都得到资源的一部分,从而取代了客户排队。


  • 操作系统的历史

第一代:真空管和穿孔卡片

第二代:晶体管和批处理系统

第三代:小规模集成电路和多到程序设计

第四代:个人计算机(大规模集成电路)

第五代:移动计算机(手机、平板等)


  • 计算机硬件简介

操作系统的作用:操作系统扩展了计算机指令集并且管理计算机资源。

  • 处理器

计算机的大脑是 CPU,它从内存中取出指令并且执行它在每个 CPU 基本周期内,首先从内存中取出指令,解码以确定其类型和操作数,接着执行它,然后取指、解码并执行下一条指令。按照这一方式,程序被执行完成。

所有的 CPU 内部都有一些用来保存关键变量和临时数据的寄存器

对程序员可见的专用寄存器:

1、程序计数器:它保存了将要取出的下一条指令的内存地址。

2、堆栈指针:它指向内存中当前堆栈的顶端,该栈包含了每一个执行过程的栈针。

CPU 取出指令执行的机制,是通过内部的取指单元、解码单元、执行单元三部分完成。为了提高效率。现在CPU通常可以同时取出多条指令。当 CPU 执行指令 n 时,它可以正在对指令 n+1 解码,并读取指令 n+2。这样,当执行完指令 n 后,无需等待,就可以直接执行 n+1,然后 n+2,这样的机制,称为流水线(pipeline)。

猜你喜欢

转载自blog.csdn.net/pcwl1206/article/details/86566897