




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Linux系统程序设计
CCGQ
大学佳嵌入式盛罂
课程目标
❷掌握操作系统的基本原理
・计算机的构架
,操作系统的设计原理
并行性:同步,互斥,死锁与饥饿
e具备Linux系统程序的开发,调试能力
Linux编程环境,与文件10编程
'Linux下多进程,多线程编程
」信号与进程间通讯
'Linux应用程序的调试
e具备网络编程能力
cceo
大学佳嵌入式盛罂
课程结构图
操作系统基本原理Linux程序设计项目实践
1.操作系统的基本概1.GNU/Linux编程基础综合应用各章的知识
念,原理。2.Linux的系统接口点应用的项目实践
2.进程,线程。3.程序调试方法
3.并行性:同步,互斥,4.多进程,多线程以及
死锁与饥饿进程间通信
5.常见库函数及系统调
用API的应用举例
6.网络编程基础
(第1〜3章)(第4〜12章)
(第13章)
cceo
大学佳嵌入式盛罂
第1章
操作系统概论
cceo
大学佳嵌入式盛罂
预习检查
@计算机系统的基本构成
,处理器,主存,10模块,系统总线
o中断的分类
・程序中断,时钟中断,10中断,硬件失效中断
❷存储器的层次结构
•Register->cache->mainmemory->disk
❷操作模式分为?
•内核模式,用户模式
。任何资源分配和调度策略都必须考虑的三个因素
•公平性,有差别的响应,有效性
cceo
大学佳嵌入式盛罂
本草目标9黯匐&
❷了解计算机的基本结构与指令的执行
❷掌握中断的概念与中断处理
u了解cache的作用与10的通信技术
❷了解操作系统的基本概念
❷了解操作系统发展的历史
❷掌握操作系统设计中的关键问题
❷了解操作系统架构
CCGQ
大学佳嵌入式盛罂
本章结构___________________上^易嵌教育
-71二
5基本构成
-处理器寄存器
♦指令的执行
f中断।
f存储器的层次结构।
f高速缓冲存储器।
-10通信技术
-操作系统的目标和功能I
—操作系统的发展____
T取得的成就|
f现代操作系统的特征一
CCGQfLinux操作系统
大学佳嵌入式盛罂
1-1基本构成
&处理器(processor)
。主存储器(mainmemory)
」易失性的
--RealmemoryORprimarymemory
&输入输出模块(IOmodules)
・二级存储设备
』通信设备
,终端
@系统总线(systembus)
)为处理器,主存,和输入/输出模块间提供通讯的设施
cceo
大学佳嵌入式盛罂
1・1处理器
@两个内部寄存器
」存储地址寄存器(MAR)
确定下一次读写的存储器地址
-•存储缓冲寄存器(MBR)
写入存储器的数据
从存储器中读出的数据
・IOAR
IOBR
CCGQ
大学佳嵌入式盛罂
1・1计算机部件:顶层视图
CPU
I/OAR=I/O地址寄存器
I/OBR=I/O缓冲寄存器
大学佳嵌入式盛罂
1・2处理器寄存器
@用户可见寄存器
,优先使用这些寄存器,减少对主存的访问
-•由优化编译器负责
」C语言的"register”关键字
8控制和状态寄存器
•控制处理器的操作
,由拥有特权的操作系统使用,控制程序的执行
cceo
大学佳嵌入式盛罂
1・2用户可见的寄存器
©有处理器执行的机器语言来引用
❷对所有的程序都是可用的
•系统程序
,应用程序
。寄存器的类型
•数据寄存器
.,地址寄存器
索引(index)
段指针(segmentpointer)
栈指针(stackpointer)
cceo
大学佳嵌入式盛罂
1・2用户可见的寄存器
@地址寄存器
•索引
通过一个基值加上一个索引值来获得有效地址
•段指针
主存被划分成段
段的基地址+offset
•栈指针
指向栈的顶部
CCGQ
大学佳嵌入式盛罂
1・2用户可见的寄存器
©控制和状态寄存器
」程序计数器
包含将取指令的地址
」指令存储器
包含最近取得指令内容
・程序状态字
•条件码
♦有处理器硬件设置(如,算数运算结果)
中断的开关(Enable/Disable)
管理/用户模式开关
其他
cceo
大学佳嵌入式盛罂
1-3指令的执行
@两个步骤
,处理器从存储器读一条指令
fetches
J处理器执行指令
excute
cceo
大学佳嵌入式盛罂
1・3指令周期
取指阶段执行阶段
CCGQ
大学佳嵌入式盛罂
1-3取指令和执行指令&
从存储器中取一条指令
程序计数器(PC)保存下一次要取的指令地址
处理器每次取完指令后,者B递增PC
cceo
大学佳嵌入式盛罂
1・3指令寄存器
©取到的指令放置的位置
❷动作分为四类
•处理器-存储器
在存储器和处理器之间传递数据
❷处理器-io
处理器和I0模块间传递数据
,数据处理
数据的算术操作和逻辑操作
•控制
改变执行顺序
CCGQ
大学佳嵌入式盛罂
1・3理想计算机的特征
03415
地址
(a)指令格式
0115
数值
(b)整数格式
程序计数器(PC)=指令地址
指令寄存器(IR)=正在执行的命令
累加器(AC)=临时存储体
(C)内部CPU寄存器
001=从存储器中加载AC
0010=把AC的内容存储到存储器中
0101=从存储器中加到AC中
(d)部分操作码列表
大学佳嵌入式盛罂
1・3程序执行的例子9例1
取指阶段执行阶段
存储器CPU寄存器存储器CPU寄存器
30019403O0|PC30019403O1|PC
3015941AC30159410003AC
30229411940IR30229411940IR
94000039400003
94100029410002
Step1Step2
存储器CPU寄存器存储器CPU寄存器
3001940301|PC30019403O2|PC
30159410003AC30159410005AC
z
30229415941IR30229415941V
94000039400003+2=5-J
94100029410002
Step3Ste]34
存储器CPU寄存器存储器CPU寄存器
30019403O2|PC30019403O3|PC
30159410005AC30159410005AC
3022941►2941IR30229412941IR
J
94000039400003
94100029410005
Step5StejD6
大学佳嵌入式盛罂
1・3直接内存访问(DMA)O肾鬻厝
❷I0模块直接和内存发生数据交换
❷处理器允许I0模块具有从存储器中读和往存储器写的
特权
❷减轻处理器的负担
cceo
大学佳嵌入式盛罂
阶段总结9黯匐詈
@计算机的基本构成,处理器,主存,10模块,系统总
线。
&处理器的内部寄存器,有些是用户可见的,有些是不
可见的,控制或状态寄存器
❷指令的执行,分为取指令,执行指令阶段
CCGQ
大学佳嵌入式盛罂
1・4中断______________________________________9ts耀
©中断处理器正常处理过程的机制
©多数的I0设备都比处理器慢的多
」处理器必须停止以等待设备
大学佳嵌入式盛罂
CCGQ
大学佳嵌入式盛罂
1・4无中断时程序的控制流
大学佳嵌入式盛罂
1-4中断:短时间的IO等待
User
Program
©
WRTTIE
cceo(t>)Interrupts;shortI/Owuil
大学佳嵌入式盛罂
1-4中断:长时间的IO等待
UserUO
ProgramProarain
①
WRITE
WRITE
WRITK
cceo(c)Interrupts;longI/Owait
大学佳嵌入式盛罂
1-4中断处理程序
❷服务于特定I0设备的程序
@一般是,操作系统的一部分
CCGQ
大学佳嵌入式盛罂
1・4中断
❷挂起正常的执行序列
中断处理器
用户程序
1
2
在这里
发生中断z+1
CCGM
大学佳嵌入式盛罂
1-4中断周期
取指阶段执行阶段中断阶段
不允许中断
CCGQ
大学佳嵌入式盛罂
1-4中断周期
©处理器检查中断信号
」无中断发生:
取当前程序的下一条指令
有中断发生:
挂起当前程序的执行
转而执行中断处理例程
CCGQ
大学佳嵌入式盛罂
1/0操作
处理器等待I/O操作
(b)有中断(带圆圈的数字
③图1.5(b)中的数字)
(a)无中断(带圆圈的数字
CCGQ指图1.5(a)中的数字)
大学佳嵌入式盛罂■
1・4程序时序:长时间的I0等待
时间
①
I/O操作②
I/O操作
处理器等待
⑤
②
③
处理器等待I/O操作I/O操作
处理器等待
⑤
③(b)有中断(带圆圈的数字:
图1.5(b)中的数字)
cceo(a)无中断(带圆圈的数字
大学佳嵌入式盛罂指图L5(a)中的数字)
1・4简单中断处理
硬件
CCGQ
大学佳嵌入式盛罂
1・4中断时存储器和寄存器的改变__________9肾鬻,
T-M
N+I
控制线
/.+i]
程序计数器
Y中断
服务通用寄存器
例程
Y+L返回\T-
栈指针
处理器
N
N+1用户程序
主存储器主存储器
(a)在存储单元N中的指令之后发生中断(b)从中断返回
CCGQ
大学佳嵌入式盛罂
1・4多道程序设计O肾鬻厝
@处理器由多个程序要执行
。执行顺序取决于他们的相对优先级和他们是否在等待
I0
&一旦中断处理完成,控制可能并不立即返回给这个用
户程序
cceo
大学佳嵌入式盛罂
1・5存储器的层次结构
©存取速度越快,每位(Nt)的价格就越高
❷容量越大,每位(b让)的价格就越低
」容量越大,存取速度就越慢
cceo
大学佳嵌入式盛罂
1・5存储器的层次结构
大学佳嵌入式盛罂
1・5有顶向下看詈
❷每位的价格递减
❷容量增大
@存取时间递增
。处理器访问存储器的频率递减
」局部性原理
大学佳嵌入式盛罂
1・5局部性原理为什么有效?
©处理器的指令存储访问和数据存储访问呈现簇状
」迭代循环
」子程序
•表和数据的操作
。在较短的时间内,处理器访问存储器中固定的簇
。大多数存储访问是对第一级存储器中的指令和数据的
访问
cceo
大学佳嵌入式盛罂
1・5二级存储器_______________________________9ts罐
@永久的,外部的
©存储程序和数据文件(files,records)
CCGQ
大学佳嵌入式盛罂
1・5磁盘高速缓冲存储器
@主存储器的一部分
❷用于临时保存从磁盘中读出数据
@磁盘成簇写
。从磁盘缓冲区读数据,而不是从磁盘读回
大学佳嵌入式盛罂
1・6高速缓冲存储器
©对操作系统不可见的
❷提高内存的访问速度
©处理器的速度远比内存的速度快
❷利用局部性原理
大学佳嵌入式盛罂
1・6高速缓冲存储器
cceo
大学佳嵌入式盛罂
e包含内存某部分的内容的拷贝
❷处理器首先检查cache
-•如果存在(cachehit)
从cache传递给处理器
-•如果不存在cache中(cachemiss):
固定数据字节的数据
先读入cache
然后从cache传递给处理器
大学佳嵌入式盛罂
1-6cache/memory系统
存储器地址
2〃
大学佳嵌入式盛罂
1・6读cache操作
开始
RA:读地址
从CPU接收地址RA
包含RA的块在高速访问主存储器
缓冲存储器中吗?中包含RA的块
Yes
取RA中的字为主存储器中的块分
并传递给CPU配高速缓冲存储器槽
为主存储器中的块载把RA中的字
入高速缓冲存储器槽传递给CPU
大学佳我入土”一
1-6Cache的设计
@Cache的大小
)适当小的cache可以对性能产生显著的影响
3块大小(linesize)
」Cache与memory的数据交换单位
由小变大时,由局部性原理,命中率增加
,变得更大时,新近取得数据被用到的可能性,小于那些必须被移出
cache的数据再次用到的可能性,命中率开始降低。
大学佳嵌入式盛罂
1-6Cache的设计
@映射函数
)决定读入块的数据将占据cache的那个单元
@替换策略
,决定谁被替换出去
,LRU(最近最少)使用算法
大学佳嵌入式盛罂
1-6Cache的设计
❷写策略
-1何时memorywrite发生
」每当块被更新后
Writethrough
」每当块被替换时
Writeback
优点:
♦减少了存储器械操作的次数
,缺点:
♦主存中的数据处于过时状态
♦在多处理器或DMA操作中会引起麻烦
CCGQ
大学佳嵌入式盛罂
1-7可编程IO9黯匐
。IO模块执行操作,不是处理器
。设置IO状态寄存器中相应的位
g不采用中断处理
g处理器要定期检查IO模块的状态
cceo
大学佳嵌入式盛罂
17中断驱动的109黯匐
IssueReadPUTI/O
commandtoDosomething
0当10模块准备交换数据是给处理I/Omodule一"►else
器发送中断
Readstatus--Interrupt
ofl/O
&处理器保存执行程序的上下文,module/OTCPU
专而执行中断处理程序
CheckError
e没有等待statuscondition
Ready
❷消耗处理器的时间,因为每一个Readword
fromI/O/OCPU
数据的读写都是由处理器来完成Module
Writeword
PU—*memory
intomemory
No
Done?
Yes
Nextinstruction
cceo<b)Interrupt-drivenI/O
大学佳嵌入式盛罂
1-7DMA
@大量移动数据
❷当数据完成后,产生中断
©处理器只在开始结束时参与
」开始
•请求读/写
io设备的地址
开始读写的存储单元
读写的数据大小
•结束
中断处理例程
CCGQ
大学佳嵌入式盛罂
1-7DMA
(a)程序控制I/O(b)中断驱动I/O
大学佳嵌入式盛罂
Z介绍了中断处理的流程,以及中断是多道程序设计的
关键。
2存储器的层次结构和高速缓冲,高速缓冲是利用了局
部性原理。
Z10通信技术,分为可编程10,中断驱动的10,以及DMA
操作。
cceo
大学佳嵌入式盛罂
阶段练习
©1
©2
©3
cceo
大学佳嵌入式盛罂
2・1操作系统的概念C肾鬻厝
❷控制应用程序执行的程序
❷应用程序和系统硬件之间的接口
大学佳嵌入式盛罂
2-1操作系统的目标
@方便
」是计算机更易于使用
@有效
更有效的利用计算机资源
g扩展的能力
,不影响服务的情况下:有效的开发,测试和引入新的系统功能
cceo
大学佳嵌入式盛罂
2・1计算机系统的层次视图
2・1操作系统提供的服务9懿f
@程序开发
,编辑器和调试器
e程序执行
&I0设备访问
3文件访问控制
U系统访问
CCGQ
大学佳嵌入式盛罂
2・1操作系统提供的服务
@错误检测和响应
)内部或外部的硬件错误
・存储器错误
.设备故障
,软件错误
•算术溢出
试图访问被禁止的存储器单元
,操作系统无法确认应用程序的请求
CCGQ
大学佳嵌入式盛罂
2・1操作系统提供的服务
@审计
,收集各种资源的统计值
•监控性能
」预测对将来功能的需求
」可用于记账
CCGQ
大学佳嵌入式盛罂
2・1操作系统
@作为资源管理器
❷操作系统与普通的计算机软件相同
•由处理器执行的一段和一组程序
。操作系统经常释放控制,并且必须依赖于处理器才能
恢复控制
cceo
大学佳嵌入式盛罂
2・1操作系统
计算机系统
存储器I/O设备
打印
I/O控制器0
操作系照相
统软件
-O
I/O控制器
•
•
程序和数据•
I/O控制器
/\
处理器•••处理器
大学
2・1内核(kernel)
©操作系统中常驻内存的部分
。包含操作系统最常用的功能
®也称为nucleus
cceo
大学佳嵌入式盛罂
2・2操作系统的发展
©硬件的升级和新硬件的出现
❷新的服务的需求
@纠正错误
CCGQ
大学佳嵌入式盛罂
2・2操作系统的发展
@串行处理
)没有操作系统
,在控制台上执行
显示灯
触发器
•输入设备
•打印机
・调度时间
・准备时间
加载编译程序,源程序
保存编译好的程序
加载目标程序和公用函数连接
CCGQ
大学佳嵌入式盛罂
2・2简单批处理系统
g监控程序
」控制事件的顺序
,把控制权交给作业
.,作业完成后将控制权返回给监控程序
CCGQ
大学佳嵌入式盛罂
2・2作业控制语言(JCL)
©特殊的程序设计语言
❷为监控程序提供指令
,使用什么编译器
,使用什么数据
CCGQ
大学佳嵌入式盛罂
2・2硬件的特性
@内存保护
」不能改变监控程序的内存区域
@定时器
.•防止一个作业独占系统
。特权指令
/某些机器级指令只能由监控程序执行
❷中断
』早期的计算机模型没有这项能力
cceo
大学佳嵌入式盛罂
2・2操作模式
❷用户程序执行在用户模式
」某些区域是受保护的
)特权指令不允许执行
触监控程序运行在系统模式
•内核模式
,可以访问受保护区域
,执行特权指令
CCGQ
大学佳嵌入式盛罂
2・2系统利用率实例______________________9肾鬻,
从文件中读一条记录
执行100条指令
往文件中写一条记录
总计
CPU利用率=—=0.032=3.2%
31
cceo
大学佳嵌入式盛罂
2・2单道程序设计
©处理器必须等待10指令完成
ProgramARunWaitRunWait
Time.
(H)Uniprogramming
cceo
大学佳嵌入式盛罂
2・2多道程序设计&
@当一个任务需要等待10,处理器可以切换到另一个任
务执行
ProgramARunWaitRunWait
ProgramBWaitRunWaitRunWart
RunRunRunRun
CombinedWailWait
ABAB
Time.
(h)MuIGprogrammingwithtwoprograms
cceo
大学佳嵌入式盛罂
2・2多道程序设计
(c)Multiprogrammingwitlithreeprograms
cceo
大学佳嵌入式盛罂
2・2多道程序设计
OB3
J0B1J0B2
作业类型大量计算大量I/O
持续时间5分钟15分钟
需要的内存50MB100MB
75是MB
是否需要磁盘
否否否
是否需要终端否是是
是否需要打印机否否
CCGQ
大学佳嵌入式理罂
2・2多道程序设计
CPUCPU
存储器存储器
磁盘磁盘
A472山终端
打印机
作业历
史记录作业历
史记录
分钟*
分钟
(a)单道程序设计(b)多道程序设计
2・2引入问题
@内存管理
,多个程序保存在主存器中
。调度算法
j处理器决定执行哪一个程序
cceo
大学佳嵌入式盛罂
2・2分时系统
❷利用多道程序设计处理多个交互式工作
❷多个用分享处理器时间
❷多个用户同时通过终端访问系统
大学佳嵌入式盛罂
2-2CTSS系统詈
❷MIT开发的第一个分时系统
2・3取得的成就
@进程
❷内存管理
©信息保护和安全
。调度与资源管理
@系统结构
CCGQ
大学佳嵌入式盛罂
@一个正在执行的程序
❷计算机中正在运行程序的实例
@可以分配给处理器并由处理器执行的一个实体
8单一的顺序的执行线索,一个当前状态和一组相关的
系统资源所描述的活动单元
cceo
大学佳嵌入式盛罂
主存储器处理器寄存器
进程索引IiI
程序计数器【
进程表基址寄存器
界限寄存器
其他寄存器
上下文
进程数据
A
程序
(代码)
上下文
进程数据
程序
(代码)
cceo
大学佳嵌入式盛罂
2・3内存管理
@进程隔离
❷自动分配和管理
❷支持模块化的程序设计
❷保护和访问控制
❷长期存储
CCGQ
大学佳嵌入式盛罂
2・3虚拟内存詈
©允许程序员从逻辑的观点来进行访问存储器
❷满足由多个作业同时驻留在内存中的要求
。当一个进程被写到辅助存储器中并且后继进程被读入
时,在连续的进程执行之间不会脱节
cceo
大学佳嵌入式盛罂
2・3分页
@进程有许多固定大小的块组成,这些块成为页
©虚拟地址由页号(pagenumber)和页中偏移量(offset)做
成
。每一页可以放在内存的任意地方
触分页系统提供了虚地址和贮存中实地址(物理地址)的动
态映射。
❷缺页
)消除了进程全部载入内存中
」按需调页
cceo
大学佳嵌入式盛罂
2・3虚存
A.1
A.0A.2
A.5
B.0B.1B.2B.3
A.7
A.9
A.8
主存
B.5B.6
主存磁盘
主存包含许多长度固定的帧,其辅存(磁盘)可以保存许多长度固
长度与页的大小相等.对一个要定的页.一个用户程序由很多页
执行的程序.它的一些页或所有
页必须在主存中组成.所有程序连同操作系统的
cceo页都以文件的形式保存在磁盘中
大学佳嵌入式理罂
2・3虚存寻址詈
cceo
大学佳嵌入式盛罂
2・3信息保护和安全
❷可用性
J保护系统不被打断
@保密性
)保证用户不能读到未授权访问的数据
❷数据完整性
)保证数据不被未授权修改
8认证
)涉及用户身份的正确认证和消息或数据的合法性
cceo
大学佳嵌入式盛罂
2・3调度和资源管理
@公平性
,给与相等或公平的机会访问资源
3有差别的响应性
-•区分有不同服务要求的不同作业类
)满足所有要求的分配和调度决策,并动态的调整
。有效性
」最大的吞吐量
」最小的响应时间
」容纳可能多的用户
cceo
大学佳嵌入式盛罂
2・3操作系统的主要组件
来自进程的
服务调用
进程中断
I/O中断
短期调度器
(代码)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生物样本液氮罐租赁与生物样本安全存储及运输服务合同
- 纺织品质量检验补充合同
- 《晶体管开关特性》课件
- XXX学校校园体育一小时活动安全应急预案范文
- 《神经系统结构概要》课件
- 商品管理与营销策略
- 会展策划师职业培训体系
- 《临床护理操作》课件
- 动土作业安全培训
- 食品安全案例警示与维权指南
- 公路养护的高级工复习题
- 三人合伙经营协议书 doc 三人合伙经营协议书实用版(六篇)
- 葡萄酒品尝学第八章-2013
- 铁路防洪培训课件
- 罗氏C8000使用操作说明
- 水事案件调查询问笔录(模板)
- 大班科学《神奇的洞洞》课件
- 公司工作交接清单表格
- 季节性防雷防汛防台风安全检查表
- 归档文件目录
- 2022年四川省绵阳市中考英语试题及参考答案
评论
0/150
提交评论