操作系统(第三章)----1.内存管理基本概述

一 基本原理和要求

(一) 内存管理的概念

操作系统对内存的划分,动态分配和保护,就是内存管理的基本概念,其主要功能有:

  • 内存的分配与回收
  • 地址转化
  • 内存扩充
  • 内存保护
(二) 程序运行的基本原理
逻辑地址和物理地址
从写程序到运行程序

在进行具体的内存管理之前,还需了解程序运行的基本原理

  • 编译:编译程序将用户源代码变成成若干目标模块
  • 链接:链接程序将一组目标模块及所需的库函数链接在一起,形成一个完整的装入模块
  • 装入:由装入程序将装入模块装入内存运行

在这里插入图片描述

链接的方式
  • 静态链接: 运行之前完成目标模块和库函数的链接,之后不再分开
  • 装入时动态链接: 在装入内存时,再将目标模块边装入变链接
  • 运行时动态链接: 在程序运行中,需要某个目标模块时,在进行目标模块和库函数的链接.有利于目标模块的共享
装入的方式
  • 绝对装入

    在编译时,若指导程序将驻留在内存中的某个位置,则编译程序将产生绝对地址的目标代码.装入程序按照装入模块的地址,将代码放入内存中,且无需修改地址

    缺点:只适合单道程序环境.

  • 可重定位装入

    在多道环境下,多个模块模块的其实地址通常从0开始,程序中的其他地址都是相对于起始地址的.

    此时应采用可重定位装入,寻找内存中的合适起始位置,将装入模块的逻辑地址+该起始位置,修改

    成新的物理地址,该修改过程称为重定位

    特点: 在一个作业要进入内存时,必须为其分配所有的空间,且分配后,不能再移动

  • 动态运行时装入

    装入时不会立即修改逻辑地址为物理地址,而是等到程序运行时再进行修改

    此方法需要借助一个重定位寄存器的支持,来存储内存中该程序的起始物理地址

    特点:允许程序在内存中进行移动

二 内存管理的功能

(一) 内存保护

多道环境下用户的进程不能受其他进程的影响,也即其他进程不能直接访问当前进程所占有的内存

因此,需要采取一定策略防止 内存越界的现象发生,以保证进程之间互补干扰

方法一

在这里插入图片描述

方法二

在这里插入图片描述

(二 )内存扩充

覆盖和交换技术是多道程序环境下内存扩充的两种基本方式

覆盖技术
  • 思想:

由于程序 运行时并不会访问程序及数据的每个部分,因此可将程序划分成多个部分,将用户空间也划分成一个

固定去和若干个覆盖区.将活跃部分的程序放在固定区,

其余部分,若即将访问,就调入覆盖区,其他的放在外村中.

  • 特点:

不必将程序一次性调入内存

在这里插入图片描述

交换技术
  • 思想:

调出:将处于等待状态的进程移出到辅存中,把内存空间腾出来

调入:将准备好禁止CPU运行的程序从辅存移到内存中

CPU调度的中级调度算法采用的就是交换技术

在这里插入图片描述

总结

交换技术主要在不同进程之间进行,而覆盖则用于同一个进程中

显然,交换技术更适合多道程序环境

(三) 内存的分配与回收

内存的分配分为:

  • 连续内存分配
  • 非连续内存分配

下面我们来总结这两大类的分配方式

3. 连续内存分配

连续分配是指为用户进程分配一个连续的空间

(一)单一连续分配

  • 将内存划分为系统区和用户区,每次只装入一道程序

在这里插入图片描述

(二) 固定分区分配

  • 为了能在内存中装入多道程序,出现了固定分区分配,即将用户空间划分成大小固定的若干内存区,每块

    内存区装入一道程序

  • 划分方式为:

    • 分区大小相等
    • 分区大小不相等

在这里插入图片描述

  • 分区大小相等: 缺乏灵活性,但适合用于控制多个相同对象的场景

  • 分区大小不相等:增加了灵活性,但是可能产生内存碎片(也即一个程序可能只有3m,但是却占据了5M的内存区)

  • 分区表:操作系统通过建立一张分区表来说明分区,

在这里插入图片描述

需要内存分配时,通过申请的内存大小检索该表,获取未分配的区域

(三) 动态分区分配(可变分配)

这种方式不会事先划分内存区域,而是在程序装入时动态划分.并使分区的大小刚好适应

程序的大小,因此,这种方式下分区的大小和数目是可变的

(四) 四种动态分区分配算法

  • 首次适应算法(First Fit):

    算法思想:将空闲分区链以地址递增的顺序连接;在进行内存分配时,从链首开始顺序查找,直到找到一块分区的大小可以满足需求 时,按照该作业的大小,从该分区中分配出内存,将剩下的空闲分区仍然链在空闲分区链中。

在这里插入图片描述

​ 优点:高址部分的大的空闲分区得到保留,为大作业的内存分配创造了条件;

​ 缺点:(1)每次都是优先利用低址部分的空闲分区,造成低址部分产生大量的外碎片。

​ (2)每次都是从低址部分查找,使得查找空闲分区的开销增大;

  • 循环首次适应算法(Next Fit)

算法思想:分配内存时不是从链首进行查找可以分配 内存的空闲分区,而是从上一次分配内存的空闲分区的下一个分区开始查找,直到 找到可以为该进程分配内存的空闲分区。
在这里插入图片描述

优点:(1)使得空闲分区分布更加均匀;

​ (2)空闲分区的查找开销小;

缺点:高址部分的大空闲分区被分小,使得大作业进入无法分配内存;

  • 最佳适应算法(Best Fit)

    算法思想:将空闲分区链中的空闲分区按照空闲分区由小到大的顺序排序,从而形成空闲分区链。每次从链首进行查找合适的空闲分区 为作业分配内存,这样每次找到的空闲分区是和作业大小最接近的,所谓“最佳”.

在这里插入图片描述

​ 优点:第一次找到的空闲分区是大小最接近待分配内存作业大小的;

​ 缺点:产生大量难以利用的外部碎片。

  • 最坏适应算法(Worst Fit)

算法思想:与最佳适应算法刚好相反,将空闲分区链的分区按照从大到小的顺序排序形成空闲分区链,每次查找时只要看第一个空闲分区是否满足即可。

在这里插入图片描述

优点:效率高,分区查找方便;

缺点:当小作业把大空闲分区分小了,那么,大作业就找不到合适的空闲分区。

四 非连续内存分配

非连续指可将作业分散到内存中的多个位置

(一) 分页管理

连续分配内存方式会形成许多“碎片”,通过紧凑的方式将碎片拼接成一块大的空间,但是拼接过程系统开销太大。如果允许将一个进程直接分散地装入到许多不相邻的分区中,那么就不需要再进行“紧凑”。基于这一思想而产生了离散分配方式。如果离散分配的基本单位是页,则称为分页存储管理方式;如果离散分配的基本单位是段,则称为分段存储管理方式。

在分页管理方式中,如果不具备页面对换功能(将处于阻塞状态且优先级低的进程对换到外存),则称为基本的分页存储管理方式,或称为纯分页存储管理方式,它不具有支持实现虚拟存储器的功能,它要求把每个作业全部装入内存后才能运行。

1、页面与页表
1.1、页面

a)、页面和物理块

分页存储管理是将一个进程的逻辑地址空间分成若干个大小相等的片,称为页面或者页,并为各页加以编号0、1、2…。相应地,把内存空间分成与页面相同大小的若干个存储块,称为(物理)块或页框,也加以编号0、1、2…。在为进程分配内存时,以块为单位将进程中的若干个页面分别装入到多个可以不相邻接的物理块中。由于进程的最后一页经常装不满一块而形成了不可利用的碎片——“页内碎片”。

b)、页面大小

在分页系统中的页面其大小适应中。页面若太小,一方面虽然可使内存碎片减小,从而减小了内存碎片的总空间,有利于提高内存利用率,但是另一方面也会使每个进程占用较多的页面,导致进程页表过长,占用大量内存,反而降低页面换进换出的效率。然而如果选择的页面较大,虽然可以减小页表的长度,提供页面换进换出的速度,但却又会使页内碎片增大。因此,页面的大小应选择适中,且页面大小应该是2的幂,通常为512B~8KB。

1.2、地址结构

分页地址中的地址结构如下:

在这里插入图片描述

011位为页内地址,即每页的大小为2^12=4KB;1231位为页号,地址空间最多允许有2^20=1M页。

对于某特定机器,其地址结构是一定的。若给定一个逻辑地址空间中的地址为A,每页的大小为L,则页号P=A/L和页内地址d=A%L。

1.3、页表

在分页系统中,允许将进程的各个页离散地存储在内存不同的物理块中,但系统应该保证进程的正确运行,即能在内存中找到每个页面所对应的物理块。系统又为每个进程建立了一张页表,其记录着相应页在内存中对应的物理块号。进程在执行时,通过查找页表找到内存中对应的物理块号。可见,页表的作用的实现从页号到物理块号的地址映射。

在这里插入图片描述

2、地址变换机构

为了能将用户地址空间中的逻辑地址 变换为内存空间的物理地址,在系统中必须设置地址变换机构。其基本任务是实现从逻辑地址到物理地址的转换。即将逻辑地址中的页号转换为内存中的物理块号,借助页表来实现。

2.1、基本的地址变换机构

页表的功能可以由一组专门的寄存器来实现。一个页表项用一个寄存器。由于寄存器成本高,数量少,因此页表大多驻留在内存中。在系统中只设置一个页表寄存器PTR(Page-Table Register),在其中存放页表在内存的起始地址和页表的长度。平时,进程未执行时,页表起始地址和页表长度是存放在本进程的PCB中,当调度程序调度该进程时,才将其放入页表寄存器中。因此,在单处理机环境下,虽然系统中可以运行多个进程,但只需一个页表寄存器。

具体如何转化呢?

以一道题为例子:

在这里插入图片描述

(二) 分段管理

引入分段存储管理方式的目的:满足程序员在编程和使用上多方面的要求。这种存储管理方式已经成为当今所有存储管理方式的基础。

1、分段存储管理方式的引入

主要满足用户和程序员以下需求:

1)、方便编程

用户把自己的作业按照逻辑管理划分为若干段,每个段都是从0开始编址,并有自己的名字和长度。因此,希望要访问的逻辑地址是由段名(段号)和段内偏移量(段内地址)决定的。

LOAD1,[A] | ;//将分段A中D单元内的值读入寄存器1

STORE1,[B] | ;//将寄存器1的内容存入B分段的C单元中
在这里插入图片描述

2)、信息共享

在实现对程序和数据的共享时,是以信息的逻辑单位为基础的。。比如共享某个例程和函数。分页系统中的页只是存放信息的物理单位(块),并无完整的意义,不便于实现共享;然而段却是信息的逻辑单位。由此可知,为了实现段的共享,希望存储管理能与用户程序分段的组织方式相适应。

3)、信息保护

4)、动态增长

有些段,会随着程序的使用不断增长。而事先又无法确切地知道数据段会增长到多大。

5)、动态链接

动态链接是指在作业运行前,并不把几个目标程序段链接起来。要运行时,先将主程序所对应的目标程序装入内存并启动运行,当运行过程中有需要调用某段时,才将该段调入内存并进行链接。可见动态链接也要求以段作为管理的单位。

2、分段系统的基本原理

2.1、分段

在分段存储管理方式中,作业的地址空间被划分为若干个段,每个段定义了一组逻辑信息。例如,有主程序段MAIN、子程序段X、数据段D及栈段S等。

在这里插入图片描述

在该地址结构中,允许一个作业最长有64K个段,每个段的最大长度为64KB。

分段方式已得到许多编译程序的支持,编译程序能自动地根据源程序的情况而产生若各个段。

2.1、段表

在动态分配方式中,系统为整个进程分配一个连续的内存空间。而在分段式存储管理系统中,则是为每个分段分配一个连续的分区,而进程中的各个段可以离散地移入内存不同的分区中。为了使程序能正常运行,也能从物理内存中找出每个逻辑段所对应的位置,应像分页那样,在系统中为每个进程建立一段映射表,简称“段表”。每个段在表中占有一个表项。其中记录了该段在内存中的起始地址(基址)和段的长度。段表可以存放在一组寄存器中,以提高访问速度,但更常见的是将段表放在内存中。

在配置了段表后,执行中的进程可通过查找段表找到每个段所对应的内存区。可见段表是用于实现从逻辑段到物理内存区的映射:

在这里插入图片描述

2.3、地址变换机构
在这里插入图片描述

在这里插入图片描述

2.4、分页和分段的主要区别

a)、页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率;段则是信息的逻辑单位,它含有一组其意义相对完整的信息,分段的目的是为了能更好地满足用户的需要。

b)、页的大小固定且由系统决定,由系统把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而在系统中只能有一种大小的页面;而段的长度却不固定,决定于用户所编写的程序,通常由编译程序在对源程序进行编译时,根据信息的性质来划分。

c)、分页的作业地址空间是一维的,即单一的线性地址空间,程序员只需利用一个记忆符,即可表示一个地址;而分段的作业地址空间则是二维的,程序员在标识一个地址是,即需给出段名,又需给出段内地址。

3、信息共享

在分段系统的允许若干个进程共享一个或多个分段,容易实现对段的保存和共享。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fPiknvkJ-1605885512236)(D:\Adoc\java核心\计算机九阳神功\操作系统\assets\1605884699052.png)]

可重入代码又称为“纯代码”,是一种允许多个进程同时访问的代码。为使各个进程所执行的代码完全相同,绝对不允许可重入代码在执行中有任何的改变。在每个进程中,都必须配以局部数据区,把在执行中可能改变的部分拷贝到该数据区,这样程序在执行时,只需对数据区中的内容进行修改,并不去改变共享的代码,这时的可共享代码级成为可重入码。

(三).段页式存储管理方式

3.0 分段,分页的优缺点

在这里插入图片描述

3.1、段页式基本原理

先分段,在段内进行分页,为每一个段赋予一个段名。以下展示出了一个作业地址空间的结构。该作业有三个段,页面大小4KB。在段页式系统中,其地址结构由段号、段内页号及页内地址三部分所组成。

在这里插入图片描述

在这里插入图片描述

3.2、地址变换过程

为了方便段页式系统中地址变换的实现,需配置一个段表寄存器,其中存放段表起始地址和段表长TL。比较段号与TL是否越界,从段表寄存器中获取段表始址找到段表,根据段表内的页表始址找到对应的页表,在根据页表的存储块找到内存中的物理块,从而获取物理地址。
在这里插入图片描述

段页式系统中,为了获得一条指令或数据,须三次访问内存:

① 访问内存中的段表,从中取得页表始址

② 访问内存中的页表,从中取出该页所在的物理块号,并与页内地址形成物理地址

③ 访问真正从第二次访问所得的地址中,取出指令或者数据

多次访问内存,执行速度降低,因此在地址变换机构中增设一个高速缓冲寄存器。每次访问它时,都须同时利用段号和页号去检索高速缓存,若找到匹配的表项,便可以从中得到相应页的物理块号,用来与页内地址一起形成物理地址;若未找到匹配表项,则仍需要再三次访问内存。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第1章 计算机基础知识 学习目标: 通过本章学习使学生掌握计算机基本概念、计算机系统组成、计算机各大硬件设备、 计算机的数制和信息的表示与存储,并熟悉计算机的产生、发展、特点和应用领域,了 解计算机字符编码的概念。 1.1计算机概述 随着微型计算机的出现及计算机网络的发展,计算机的应用已渗透到社会的各个领域 ,并逐步改变着人们的生活方式。21世纪的今天,掌握和使用计算机成为人们必不可少 的技能。 1.1.1 计算机的诞生及发展 1946年2月,世界上第一台电子计算机ENIAC (埃尼阿克)在美国加州问世。ENIAC使用了17468电子管,1500个继电器,体积3000立方 英尺(1立方米=35.346立方英尺),占地170平方米,重30吨,耗电174千瓦。内存17K ,字长12位,运算速度每秒5000多次加法运算,300多次乘法运算,比当时最快的计算工 具快300倍,耗资40万美金。在当时用它来处理弹道问题,将人工计算使用20小时缩短到 30秒。但是ENIAC却有一个严重的问题,它不能存储程序。如图1-1所示。 几乎在同一时期,著名数学家冯·诺依曼提出了"存储程序"和"程序控制"的概念。其 主要思想为: 1)采用二进制形式表示数据和指令。 2)计算机应包括运算器、控制器、存储器、输入和输出设备五大基本部件。 3)采用存储程序程序控制的工作方式。 所谓存储程序,就是把程序和处理问题所需的数据均以二进制编码形式预先按一定顺 序存放到计算机的存储器里。计算机运行时,央处理器依次从内存储器逐条取出指 令,按指令规定执行一系列的基本操作,最后完成一个复杂的工作。这一切工作都是由 一个担任指挥工作的控制器和一个执行运算工作的运算器共同完成的,这就是存储程序 控制的工作原理。 冯·诺依曼的上述思想奠定了现代计算机设计的基础,所以后来人们将采用这种设计 思想的计算机称为冯·诺依曼型计算机。从1946年第一台计算机诞生至今,虽然计算机的 设计和制造技术都有了极大的发展,但今天使用的绝大多数计算机其工作原理和基本结 构仍然遵循着冯·诺依曼的思想。 计算机由于所使用的元器件的迅速发展经历了五个时代,如表1-1所示。 "代 "日期 "逻辑元件 " 1.1.2 计算机分类 计算机按工作原理分可分为:模拟电子计算机、数字电子计算机、模拟数字混合计算 机;按功能分可分为专用计算机和通用计算机;按工作模式分可分为工作站和服务器; 按规模分可分为:巨型计算机、大型计算机、型计算机、小型计算机和微型计算机。 如银河系列计算机:运行速度每秒上百亿次,如图1-2所示。 1.1.3 计算机特点 1. 运算速度快 当今计算机系统的运算速度已达到每秒万亿次,微机也可达每秒亿次以上,使大量复 杂的科学计算问题得以解决。例如:卫星轨道的计算、大型水坝的计算、24小时天气预 报的计算等,过去人工计算需要几年、几十年,而现在用计算机只需几天甚至几分钟就 可完成。 2. 计算精确度高 科学技术的发展特别是尖端科学技术的发展,需要高度精确的计算。计算机控制的导 弹 之所以能准确地击预定的目标,是与计算机的精确计算分不开的。一般计算机可以有 十几位甚至几十位(二进制)有效数字,计算精度可由千分之几到百万分之几,是任何计 算工具所望尘莫及的。 3.存储容量大 计算机不仅能进行计算,而且能把参加运算的数据、程序以及间结果和最后结果保 存起来,以供用户随时调用。计算机的存储器可以存储大量数据,这使计算机具有了"记 忆"功能。随着计算机存储容量的不断增大,可存储记忆的信息越来越多。计算机的"记 忆"功能是与传统计算工具的一个重要区别。 4.具有逻辑判断能力 计算机的运算器除了能够完成基本的算术运算外,还具有对各种信息进行比较、判断 等逻辑运算的功能。这种能力是计算机处理逻辑推理问题的前提。 5.自动化程度高,通用性强 计算机内部操作是根据人们事先编好的程序自动控制进行的。用户根据解题需要,事 先设计好运行步骤与程序,计算机十分严格地按程序规定的步骤操作,整个过程不需人 工干预,自动化程度高,这一特点是一般计算工具所不具备的。 计算机通用性的特点表现在几乎能求解自然科学和社会科学一切类型的问题,能广 泛地应用各个领域。 1.2 计算机系统组成及应用 完整的计算机系统包括:硬件系统和软件系统。硬件系统是计算机的"躯干",是基础 。软件系统是建立在"躯干"上的"灵魂"。其结构如图1-3所示。 在计算机系统,硬件是软件赖以工作的物质基础,软件的正常工作是硬件发挥作用 的唯一途径。计算机系统必须要配备完善的软件系统才能正常工作,且充分发挥其硬件 的各种功能。所以软件与硬件一样,都是计算机工作必不可少的组成部分。那么,计算 机由用户来使用,用户与计算机硬件系统和软件系统的层次关系如图1-
第8章 多线程编程 第1页 本章概述 本章的学习目标 主要内容 Java程序设计案例教程-第8章-多线程编程全文共36页,当前为第1页。 本章概述 前面我们所开发的程序大多是单线程的,即一个程序只有一条从头到尾的执行路线。然而,现实世界的很多事务都是有多种途径同时运作的,例如:服务器可能需要同时处理多个客户机的请求,这就需要有多个线程同时在工作。多线程编程使得系统资源并不是由某个执行体独占,而是由多个执行单元共同拥有,轮换使用。正确使用多线程可以消除系统的瓶颈问题,提高整个应用系统的性能。本章将详细介绍Java语言的多线程技术。通过本章的学习,读者应该理解线程和进程的区别,掌握Java的多线程编程技术,了解线程的同步和线程间通信等内容。 第2页 Java程序设计案例教程-第8章-多线程编程全文共36页,当前为第2页。 本章的学习目标 了解进程和线程的基本概念和区别 掌握创建线程的两种方法 掌握线程同步的概念和方法 了解线程的优先级 掌握线程间通信的方法 第3页 Java程序设计案例教程-第8章-多线程编程全文共36页,当前为第3页。 第4页 主要内容 8.1 Java线程模型 8.2 创建线程 8.3 同步与线程间通信 8.4 获取线程状态 8.5 本章小结 8.6 思考和练习 Java程序设计案例教程-第8章-多线程编程全文共36页,当前为第4页。 8.1 Java线程模型 Java对多线程编程(multithreaded programming)提供了内置支持。多线程程序包含同时运行的两个或多个部分。这种程序的每一部分被称为一个线程,并且每个线程定义了单独的执行路径。因此,多线程是特殊形式的多任务处理。 第5页 Java程序设计案例教程-第8章-多线程编程全文共36页,当前为第5页。 进程 进程本质上是正在执行的程序。在UNIX操作系统,每个应用程序的执行都在操作系统内核登记一个进程标志,操作系统根据分配的标志对应用程序的执行进行调度和系统资源分配。每个进程都有自己的内存单元,进程之间是互相独立的,一个进程一般不允许访问其他进程的内存空间,因此,进程间通信非常困难。 基于进程的多任务处理就是允许计算机同时运行两个或更多个程序的特性。例如,基于进程的多任务处理可以在运行Java编译器的同时使用文本编辑器或浏览网站。在基于进程的多任务处理程序是调度程序能够调度的最小代码单元。 第6页 Java程序设计案例教程-第8章-多线程编程全文共36页,当前为第6页。 线程 线程是比进程更小的执行单位。如果将进程概念一分为二,则进程的系统资源,可以看成是一个静态的对象;而程序代码的执行位置,可以看成一个动态对象,这个动态的部分就是线程。进程在执行过程拥有独立的内存单元,而多个线程共享内存,线程之间的通信比较容易解决,从而极大地提高了程序的运行效率。 在基于线程的多任务环境,最小的可调度代码单元是线程,这意味着单个程序可以同时执行两个或更多个任务。例如,文本编辑器可以在打印的同时格式化文本,只要这两个动作是通过两个独立的线程执行即可。 第7页 Java程序设计案例教程-第8章-多线程编程全文共36页,当前为第7页。 进程和线程的区别 进程和线程的区别可以总结为如下几点: 一个程序至少有一个进程,一个进程至少有一个线程,线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。 线程在执行过程与进程也是有区别的,每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口;但是线程不能够独立执行,必须依存在应用程序,由应用程序提供多个线程的执行控制。 一个线程可以创建和撤销另一个线程,同一进程的多个线程之间可以并发执行。 第8页 Java程序设计案例教程-第8章-多线程编程全文共36页,当前为第8页。 Java的线程 Java运行时系统在许多方面依赖于线程,并且所有类库在设计时都考虑了多线程。事实上,Java通过利用线程使得整个环境能够异步执行。 在过去几年,多核系统已经变得很普遍了。当然,单核系统仍然在广泛使用。Java的多线程系统在这两种类型的系统都可以工作。在单核系统,并发执行的线程共享CPU,每个线程得到一片CPU时钟周期。所以,在单核系统,两个或更多个线程不是真正同时运行的,但是空闲时间被利用了。然而,在多核系统,两个或多个线程可能是真正同步执行的。 第9页 Java程序设计案例教程-第8章-多线程编程全文共36页,当前为第9页。 线程的状态 线程有多种状态:线程可以处于运行(running)状态,只要获得CPU时间就准备运行。运行的线程可以被挂起(suspended),这会临时停止线程的活动。挂起的线程可以被恢复(resumed),从而允许线程从停止处恢复执行。当等待
计算机应用基础第2章 计算机系统 计算机应用基础第2章-计算机系统全文共46页,当前为第1页。 本章内容提要 第二章 计算机系统 2 计算机应用基础第2章-计算机系统全文共46页,当前为第2页。 所有的数字电子计算机均由五部分组成: 运算器、 存储器、 控制器、 输入设备、 输出设备。 以上称为冯·诺依曼型计算机系统。当今计算机就不再局限于大型计算机、微型计算机等,PDA、智能手机、智能家电、工业控制器等由这五部分组成的智能设备均泛指为计算机。 2.1 计算机硬件系统 第二章 计算机系统 3 计算机应用基础第2章-计算机系统全文共46页,当前为第3页。 2.1.1 数字计算机运行机理 运算器(arithmetic): 运算器的功能是对数据进行各种算术运算和逻辑运算,即对数据进行加工处理。 "字长" : 同一时刻能运算的二进制位数; "次/秒":每秒可以做多少次运算。 (例: 第一台计算机每秒能做5000次加法,或者400次乘法) 第二章 计算机系统 4 计算机应用基础第2章-计算机系统全文共46页,当前为第4页。 2.1.1 数字计算机运行机理 2 存储器(Memory): 存储器是计算机数据记忆设备,主要功能是存储程序、数据和各种信、命令等信息。 存储器的主要指标是容量和速度。 存储容量反映了计算机数据存放的空间大小。一般最小计量单位是字节(Byte,常常是用B)。对于现代微型计算机而言,内存一般在1GB以上。1GB=109B(字节)。 (注意: 存储器不仅仅存放数据,还有指挥计算机运行的指令) 第二章 计算机系统 5 计算机应用基础第2章-计算机系统全文共46页,当前为第5页。 2.1.1 数字计算机运行机理 3 控制器(Control): 计算机的枢神经,其功能是读取并解释程序指令,根据指令内容产生相应的控制信、使计算机各部件有相应的运算动作,协调了计算机各部分工作及内存与外设的访问等。 由什么来指挥控制器运作? 人们把预先想好希望计算机做等一系列操作以指令代码方式存放到计算机内存,然后由控制器有序在内存读取指令,通过控制器的解释和执行,计算机就能自动、连续的不间断的运行。 第二章 计算机系统 6 计算机应用基础第2章-计算机系统全文共46页,当前为第6页。 2.1.1 数字计算机运行机理 4 输入设备(Input system): 输入设备的作用是将程序、原始数据、文字、字符、控制命令或现场采集的数据等信息输入到计算机。 常见的输入设备有键盘、鼠标器、光电输入机、磁带机、磁盘机、光盘机等。 5 输出(Output system): 把外算机的间结果或最后结果、机内的各种数据符及文字或各种控制信等信息输出出来。 计算机常用的输出设备有显示终端CRT、打印机、激光印字机、绘图仪及磁带、光盘机等。 第二章 计算机系统 7 计算机应用基础第2章-计算机系统全文共46页,当前为第7页。 2.1.1 数字计算机运行机理 计算机的工作过程: 计算机的运行简单概括为: 取指令—翻译指令—执行指令—再取下一条指令,周而复始。每执行完成一条指令的时间称为指令周期。 例如第一台计算机每秒5000次的加法运算,可以算出运行一条加法指令需要200微秒。 第二章 计算机系统 8 计算机应用基础第2章-计算机系统全文共46页,当前为第8页。 2.1.2 计算机硬件概述 央处理器(CPU) 现代计算机一般把运算器、控制器集成在一块。由运算器、控制器和寄存器组成的部件称为央处理器(central processing unit),简称为CPU 。 第二章 计算机系统 9 计算机应用基础第2章-计算机系统全文共46页,当前为第9页。 2.1.2 计算机硬件概述 2. 存储设备 存储设备是指能够存放数据和程序的设备。在数字计算机的存储设备,所存放的信息均为二进制信息,不管是文字、图片、音乐和视频等,都是以0和1存放。计算机内存最小计量单位是字节(Byte)。 主内存 只读存储器 半导体快闪记忆器 硬盘 光盘 第二章 计算机系统 10 计算机应用基础第2章-计算机系统全文共46页,当前为第10页。 2.1.2 计算机硬件概述 3. 输入设备 用来向计算机输入数据、程序和其它信息。主要作用是将人们可阅读理解的信息(如程序、文字、图形图像、音视频)转换为计算机能识别的二进制代码,输入到计算机内、供计算机处理。 典型的输入设备有键盘、鼠标、触摸屏、手写笔、摄像头、游戏手柄等。主内存 第二章 计算机系统 11 (Input Devices) 计算机应用基础第2章-计算机系统全文共46页,当前为第11页。 2.1.2 计算机硬件概述 4 输出设备(Output Devices) 是把计算机内的二进制信息以人们习惯的数字、字符、图形图像、音视

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值