哈工大操作系统视频对应课件
哈工大嵌入式操作系统课件—4_vxworks嵌入式操作系统

Watchdog Timers Calls
wd***()函数
WDOG_ID wdCreate (void) 创建一个看门狗定时器
返回值:如果成功则返回该看门狗定时器的ID, 否则返回ERROR。
wd***()函数
STATUS wdStart ( WDOG_ID wdId, int delay, FUNCPTR pRoutine, int parameter)
STATUS msgQSend ( MSG_Q_ID msgQId, char * buffer, UINT nBytes, int timeout, int priority)
发送一个消息到消息队列 msgQId :接收消息的队列ID buffer:待发送消息存放的缓存 nBytes:消息长度(字节) timeout:任务期望等待的tick数
将写全局和变量的代码作为临界区,使用互斥 机制进行保护。
Task Variables
任务间通信
共享数据结构 互斥机制 信号量 消息队列 管道 基于网络的任务间通信 信号
共享数据结构
Global variables Pointers Linear buffers Ring buffers Linked lists
抢占锁
Less restrictive form of mutual exclusion. 除ISR外,任务调度被禁止。 在调用taskLock()的函数离开临界区前,任何
其他任务都不能执行,除非该任务进入等待态。
信号量
VxWorks提供的最快速的任务间通信机制。 存在3类信号量:
- Binary - Mutual exclusion - Counting
A subroutine is reentrant if a single copy of the routine can be called from several task contexts simultaneously without conflict.
哈工大威海 操作系统课件 第7章文件管理

length 2 3 6 4 2
21 25 29
30
图 7-7 磁盘空间的连续分配
第七章 文件管理
2. 连续分配的主要优缺点 连续分配的主要优点如下: (1) 顺序访问容易。 (2) 顺序访问速度快。 连续分配的主要缺点如下: (1) 要求有连续的存储空间。 (2) 必须事先知道文件的长度。
第七章 文件管理
序排序。
第七章 文件管理
3. 顺序文件的优缺点(了解) 顺序文件的最佳应用场合,是在对诸记录进行批量 存取时, 即每次要读或写一大批记录。此时,对顺序
文件的存取效率是所有逻辑文件中最高的;此外,也
只有顺序文件才能存储在磁带上, 并能有效地工作。 在交互应用的场合,如果用户(程序)要求查找或修改 单个记录,为此系统便要去逐个地查找诸记录。 另一缺点是, 如果想增加或删除一个记录, 都比 较困难。
以记录构成
第七章 文件管理
2. 无结构文件
流式文件,字符 序列构成文件
源程序、 可执行文件、 库函数等, 所采用的 就是无结构的文件形式,即流式文件。 其长度以 字节为单位。
对流式文件的访问,是采用读写指针来指出 下一个要访问的字符。可以把流式文件看作是记 录式文件的一个特例。在UNIX系统中,所有的文 件都被看作是流式文件;即使是有结构文件,也 被视为流式文件;系统不对文件进行格式处理。
7.1.3 文件操作
(1) 创建文件。 (2) 删除文件。
(3) 读文件。
(4) 写文件。 (5) 截断文件。 (6) 设置文件的读/写位置。
第七章 文件管理
1. 文件的“打开”和“关闭”操作
所谓“打开”,是指系统将指名文件的属性(包
括该文件在外存上的物理位置)从外存拷贝到内存打
哈工大威海 操作系统课件 第3章进程同步

第二章 进 程 管 理
算法2:双标志、先检查 其中Pi
While(flag[j]); Flag[i]=TRUE; Critical section Flag[i]=FALSE; Remainder section
flag[i]= flag[j]=FALSE
请写出Pj
<> <b>
<a> <b>
While(flag[i]); Flag[j]=TRUE; Critical section Flag[j]=FALSE; Remainder section
执行过程相当于 生产一点拿一点, 而不是消费完整 的产品
最后counter 的值为4,并且结果不可预见.
解决问题的关键是,把counter作为临界资源来处 理,即令生产者和消费者进程互斥访问变量counter.
第二章 进 程 管 理
3. 临界区(critical section)
3.1、临界区的定义与进入 • 临界区:把在每个进程中访问临界资源的那段代 码称为临界区(critical section)。 • 进入区: 在临界区前面增加一段用于进行临界资源检 查的代码,称为进入区 。 • 退出区:将临界区正被访问的标志恢复为未被访问 的标志。 • 剩余区:其余部分。
表示目前 缓冲区产 品已放满
第二章 进 程 管 理
虽然上面的生产者程序和消费者程序,在分别看时 都是正确的,而且两者在顺序执行时其结果也会是正确
的,但若并发执行时,就会出现差错,问题就在于这两
个进程共享变量counter。
第二章 进 程 管 理
• 生产者对它做加1操作,消费者对它做减1操 作,这两个操作在用机器语言实现时, 常可 用下面的形式描述:
哈工大大学计算机基础课件4.操作系统

操作系统的作用(3/3)
作用3 操作系统是计算机系统的资源管理者。 • 在计算机系统中,能分配给用户使用的各种硬件和软件设 施的总称称为资源。 那么,操作系统是如何进行资源管理的?
• 对资源进行抽象研究 • 有序地管理计算机中的硬件、软件资源 • 跟踪资源的使用情况,监视资源的状态,满足用户对资源的需求, • 协调各程序对资源的使用冲突 • 研究使用资源的统一方法,为用户提供简单、有效的资源使用手段, • 最大限度地实现各类资源的共享,提高资源利用率
23
分布式操作系统
输入 计算 输出
特点:在分布式 •处理器 系统中管理、控制和 •存储器 分配资源,将任务均 分给多个处理机共同 完成。 •处理器 •存储器 •处理器 •存储器 •处理器 •存储器
•处理器 •存储器
24
嵌入式操作系统
• 嵌入式系统是指操作系统和功能 软件集成于计算机硬件系统之中。 简单的说就是系统的应用软件与 系统的硬件一体化,类似与BIOS 的工作方式。 面向特定应用 具有软件代码小,高度自动化, 响应速度快等特点。特别适合于 要求实时的和多任务的体系。可 靠性、实时性 为了提高执行速度和系统可靠性, 嵌入式系统中的软件一般都固化 在存储器芯片或单片机中,而不 是存贮于磁盘等载体中。
31
文件的扩展名与文件类型
文件扩展名表示文件的类型. 扩展名一般是由建立文件的程序自动加入的;
扩展名
.COM .EXE .BAT .BAS .C .OBL .MP3
类型
可执行的命令文件 可执行的程序文件 可执行的批处理文件 BASIC语言源程序 C语言源程序 源程序中间代码文件 音频文件
扩展名
操作系统在计算机系统中的地位
其它软件 操作系统
操作系统课件

Operating System
22
哈工大计算机科学与技术学院
进程状态转换
在进程执行过程中,其状态会不断变化
运行
一个CPU上正 在执行的进程
就绪
准备运行的进程
Harbin Institute of Technology
Operating System
23
哈工大计算机科学与技术学院
进程状态转换
(1) 就绪 (2) 运行 运行: 该进程被配遣(Dispatch) 就绪: 运行并中断,如时间片用完
将其它资源加以限制后分配给不同的进程
如内存映射: Give each process their own address space 内核/用户模式: Arbitrary multiplexing of I/O through system calls
Harbin Institute of Technology
Harbin Institute of Technology
Operating System
16
哈工大计算机科学与技术学院
进程 vs. 程序
程序: 代码 + 数据
是静态的
int c; int main() { printf(“hello”); }
进程是程序关于某数据集 stack 上的一次运行活动
Harbin Institute of Technology
Operating System
7
哈工大计算机科学与技术学院
并发引出的问题
多个用户对资源的共享
单一的CPU,单一的DRAM,单一的I/O设如何分配 如何让用户(程序员)感觉到是独占机器
操作系统需要协调所有的活动
哈工程操作系统第二个

哈工程操作系统第二个————————————————————————————————作者:————————————————————————————————日期:操作系统实验报告课程名称操作系统实验课程编号实验项目名称操作系统的启动学号年级三计算机科学姓名专业与技术计算机科学与技学生所在学院指导教师初妍术实验实验室名称地点哈尔滨工程大学计算机科学与技术学院第二讲操作系统的启动一、实验概述1. 实验名称操作系统的启动2. 实验目的(1)跟踪调试EOS在PC机上从加电复位到成功启动的全过程,了解操作系统的启动过程。
(2)查看EOS启动后的状态和行为,理解操作系统启动后的工作方式。
3. 实验类型(验证、设计)验证4. 实验内容(1)准备实验(2) 调试EOS操作系统的启动过程二、实验环境EOS操作系统、Bochs模拟器、Virtual PC虚拟机软件、NASM汇编、BIOS(Basic Input/Output System)三、实验过程1.准备实验(1)启动OS Lab(2)新建一个EOS Kernel项目(3)在“项目管理器”窗口中打开boot文件夹中的boot.asm和loader.asm两个汇编文件。
(4)生成项目(5)生成完成后,使用Windows资源管理器打开项目文件夹中的Debug文件夹。
找到boot.asm生成的软盘引导扇区程序boot.bin文件,该文件的大小是512字节。
找到由loader.asm生成的loader.bin文件,记录下此文件的大小1566字节,在下面的实验中会用到。
找到由其它源文件生成的操作系统内核文件kernel.dll 2.调试EOS操作系统的启动过程(1)使用Bochs做为远程目标机(2)调试BIOS程序在Console窗口中输入调试命令sreg后按回车,CS寄存器的值为0xf000。
输入调试命令r后按回车,显示当前CPU中各个通用寄存器的值输入调试命令xp/1024b 0x0000,查看开始的1024个字节的物理内存。
哈工大操作系统课件11-20(全)

解: (2)mutex:用于互斥的信号量,初 值为1。 各进程代码如下:
进程A: ... P(mutex) 申请打印机 使用打印机
进程B: ... P(mutex) 申请打印机 使用打印机
V(mutex)
...
V(mutex)
...
谢谢收看
操作系统 第12讲
张英涛
哈尔滨工业大学
哈尔滨工业大学远程教育课程
程 放弃 处理机。
解答题
进程和程序的主要区 别是什么?
答:进程是动态的,程序是静态的;进程 具有并发性,而程序具有顺序性;进程具有 独立性,是资源分配和调度的基本单位,而
程序无此特性;进程和程序间没有一一对应
关系;进程异步运行,会相互制约,程序不 具备此特性。
有两个用户进程 A 和 B ,在运行过程中都
课 堂 练 习 1
操作系统是 控制和管理计算机系统内各
种硬件和软件资源、有效地 组织多道程序运行的系统软 件(或程序集合),是用户与计算
机之间的接口。
操作系统的基本职能是(
A. 控制和管理系统内各种资源, 有效地组织多道程序的运行 B.提供用户界面,方便用户使用 C.提供方便的可视化编辑程序 D.提供功能强大的网络管理工具
平均周期时间:
T=1/n[∑ Ti]
i=1
n
带权周转时间:
W=T/Ts T:作业的周期时间 Ts:系统为提供为它提 供服务的时间(真正 运行时间)。
在CPU上执行的 时间,比周转时 间短或相等(理 想情况下)
平均带权周转时间 :
W=1/n[∑ Ti/Tsi ]
i=1
越小越好
n
例:有如下三道作业。系统为它们服务的顺序 是:1、2、3。求平均周转时间和平均 带权周转时间。
哈工大张英涛操作系统视频对应课件3_10(全)

进程定义
进程是进程实体的运行过程, 是系统进行资源分配和调度 的基本单位。
进程和程序的关系
(1)进程是一个动态概念,程序是一个静态 概念。 (2)进程具有并行特征,程序没有。 (3)进程是竞争资源的基本单位 (4)一个程序对应多个进程,一个进程为多 个程序服务。
进程的三种基本状态
就绪状态 执行状态 阻塞状态
临界资源
一次仅允许一个进程使用的 共享资源 如:打印机、磁带机、表格
临界区
在每个 进程 中访 问临 界 资源的那段程序
进程必须互斥进入临界区
访问临界区的循环进程描述
repeat
进入区 临界区
检查临界资源是否能访问
退出区
剩余区
until false;
将临界区标志设为未访问
同步机制遵循的原则
空闲让进 ② 忙则等待 ③ 有限等待 ④ 让权等待
处理机中主要的寄存器: (1)通用寄存器 8-32个,暂存信息用 (2)指令计数器 要访问的下一条指令地址 (3)程序状态字PSW 条件码、执行方式、 中断屏蔽标志 (4)用户栈指针 用户进程拥有的系统栈, 存放过程和系统调用参数及调用地址。
进程调度信息
进程状态 进程优先级 与调度算法有关信息 事件 如:阻塞原因
进程控制信息
程序和数据地址 进程同步和通信机制 资源清单:除CPU之外的所需资源与 已经分配资源清单 链接指针:本进程PCB所在队列的下 一个地址。
PCB的组织方式
(1)链接方式 把统一状态的PCB,用其中的链接字链接成 一个队列。如:就绪队列、阻塞队列(根 据不同阻塞原因)、空白队列。 (2)索引方式 建立就绪索引表、阻塞索引表等。把索引表 在内存的首地址放在内存的专用单元中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(3)可并发执行。 (4)共享进程资源。
精品 可修改
课堂练习1
精品 可修改
操作系统是
控制和管理计算机系统内各 种硬件和软件资源、有效地 组织多道程序运行的系统软 件(或程序集合),是用户与计算 机之间的接口精品。可修改
操作系统的基本职能是( A )
精品 可修改
高级通信分类
共享存储器系统 消息传递系统 管道通信
精品 可修改
共享存储器系统
(1)共享数据结构的通信方式 进程之 间通过某种数据结构,如缓冲池进行 通信属于低级通信方式; (2)共享存储区通信方式 为了传送大 量信息,在存储器中划出一块共享存 储区,进程可通过对共享存储区进行 读或写来实现通信,属于高级通信方 式。
精品 可修改
引入线程目的
➢进程是可拥有资源的独立单位和可独立
调度和分派的基本单位。
➢创建、撤消和切换中,系统必须为之付
出较大的时空开销。故进程,其数目不 宜过多,进程切换的频率也不宜过高。
➢进程不应同时作为拥有资源的单位和可
独立调度和分派的基本单位,应该“轻 装上阵”;
精品 可修改
线程的属性
(1)轻型实体。线程中的实体基本 上不拥有系统资源
从指定信箱中接收一个消息
精品 可修改
信箱分类
❖ 私用信箱。 ❖ 公用信箱。 ❖ 共享信箱。
精品 可修改
私用信箱
用户进程建立,作为该进程的一部分。 拥有者有权读消息.其他用户只能发
送。 采用单向通信链路。 进程结束时信箱也消失。
精品 可修改
公用信箱
它由OS创建. 提供给系统中的所有核准进程使用。 进程既发送也可取出。 采用双向通信链路的信箱来实现。 系统运行期间始终存在。
(3)判别对方是否存在.只有确定了对方存 在时方能进行通信精品。可修改
谢谢收看
操作系统 第11讲
哈尔滨工业大学 张英涛
精品 可修改
哈尔滨工业大学远程教育课程
操作系统
第 12 讲
主讲人:张英涛
精品 可修改
线程
进程:使多个程序能并发执行,以提高资源 利用率和系统吞吐量
引入线程,是为了减少程序在并发执行时 所付出的时空开销,使OS具有更好的并发 性
哈尔滨工业大学远程教育课程
操作系统
第 11 讲
精品 可修改
进程通信
进程通信是指进程之间的信息交换 交换的信息量 一个状态或数值
上千个字节
精品 可修改
进程通信分类
1) 低级通信:进程的互斥和同步 2)高级通信: 指用户可直接利
用os提供的一组通信命令,高 效地传送大量数据的一种通信 方式。对用户透明。
精品 可修改
共享信箱
由某进程创建,创建时提供共享进程 (用户)的名字。
信箱的拥有者和共享者,都有权从信 箱中取走发送给自己的消息。
精品 可修改
信箱通信时发送进程和接收进程的关系:
一对一关系。建立一条专用的通信链路。
多对一关系。服务进程与多个用户进程 之间进行交互,又称客户/服务器交互。
一对多关系。一个发送进程与多个接进 程进行交互,使发送进程可用广播形式sumer the item in nextc;
until false;
精品 可修改
间接通信方式
进程之间的通信需要通过某种中间实体, 该实体用来暂存发送进程发送给目标进 程的消息;接收进程则从该实体中取出 对方发送给自己的消息。
这种中间实体称为信箱。
消息在信箱中可以安全地保存.只允许 核准的目标用户随时读取,故可实现非 实时通信。
精品 可修改
消息传递系统
信息交换的单位是消息或报文, 分成两种:
1.直接通信方式 2.间接通信方式 计算机网络中将消息称为报文。
精品 可修改
直接通信方式
发送进程直接把消息发送给目标 进程
发送进程和接收进程都以显式方 式分别提供对方的标识符。
系统提供两条通信原语 Send(Receiver,message); Receive(Send,message);
A.控制和管理系统内各种资源, 有效地组织多道程序的运行
B.提供用户界面,方便用户使用 C.提供方便的可视化编辑程序 D.提供功能强大的网络管理工具
精品 可修改
操作系统的基本特 征 是 并发 、 共享 和 虚__拟___、 异步性 。
精品 可修改
操作系统中引入“进程”概念
的主要目的是( B )。
精品 可修改
管道通信
必需的协调能力
(1)互斥 当一个进程正在对管道进行读/ 写操作时,另一进程必须等待。
(2)同步 当写(输入)进程把一定量的数据 (如4K)写入管道后,便去睡眠等待,直 到读(输出)进程取走数据后再把它唤醒。 当读进程发现管道空时也应睡眠等待, 直至写进程将消息写入管道后,才将它 唤醒.
精品 可修改
例如: Send(P2,m1); Receive(P1,m1);
精品 可修改
解决生产者一消费者问题
repeat
…
produce an item in nextp;
…
Send(consumer,nextp);
until false;
repeat
Receive(producer, nextp);
A.改善用户编程环境 B.描述程序动态执行过程的性 质 C.使程序与计算过程一一对应 D.提高程序的运行速度
精品 可修改
某进程由于需要从磁盘上读入数据 而处于阻塞状态。当系统完成了所需的 读盘操作后,此时该进程的状态将
(D )
A. 从就绪变为运行 B.从运行变为就绪 C.从运行变为阻塞 D.从阻塞变为就绪
多对多关系。建立一个公用信箱,多个 进程投递并取走自己的消息。
精品 可修改
管道通信
管道通信方式建立在文件系统 的基础上,利用共享文件来连 接两个相互通信的进程,此共 享文件称为管道(Pipe)。
管道是指用于连接一个读进程 和一个写进程,以实现它们之 间通信的共享文件
精品 可修改
读进程
管道
写进程
精品 可修改
信箱的创建和撤消
进程用信箱创建原语来建立一个新 信箱。创建者进程应给出信箱名字、 信箱属性(公用、私用或共享);对 于共享信箱,还应给出共享者的名 字。
用信箱撤消原语来撤消。
精品 可修改
消息的发送与接收 Send(mailbox,message):
将一个消息发送到指定信箱;
Receive (mailbox,message)