分布式操作系统笔记
来源:互联网 发布:空调遥控器软件 编辑:程序博客网 时间:2024/05/16 13:54
操作系统做什么?--依hello.c为例
1.用户告诉操作系统执行hello程序
2.操作系统找到该程序,检查其类型
3.检查程序首部,找出正文和数据的地址
4.文件系统找到第一个磁盘块
5.父进程需要创建一个新的子进程,执行hello程序
6.操作系统需要将执行文件映射到进程结构
7.操作系统设置CPU上下文环境,并跳到程序开始处
8.程序的第一条指令执行,失败,缺页中断发生
9.操作系统分配一页内存,并将代码从磁盘读入,继续执行
10.更多的缺页中断,读入更多的页面
11.程序执行系统调用,在文件描述符中写一字符串
12.操作系统检查字符串的位置是否正确
13.操作系统找到字符串送给该进程
14.该进程告诉窗口系统它要显示字符串
15.窗口系统确定这是一个合法操作,然后将字符串转换成像素
16.窗口系统将像素写入存储映射区
17.视屏硬件将像素表示转换成一组模拟信号控制显示器
18.显示器发射电子束
19.你在屏幕看到hello world
操作系统的工作:
(1)程序的执行
负责启动每个程序
以及结束程序的工作
(2)完成与硬件有关的工作
(3)完成与应用无关的工作
易于使用,基本服务,统一性
(4)计算机系统的效率与安全问题
分布式os与单机os的区别:
1.消息传递,无共享存储器
2.决策,应按分散式决策,采用分布式算法
3.动态平衡负载
4.多台处理机管控,但主机是浮动的
5.重构,降级处理,容错能力强
与网络os的区别:
1.分布式逻辑上是一个整体,物理上由内核和核外部分构成,内核一样,核外部分不一样
2.分布式os根据任务和系统状态自动为用户分配资源,网络os要显示访问
3.分布式os将系统看为一个整体
分布式os要处理的问题:
1.资源多重性问题:多副本一致性,部分站点失效
2.资源分散问题:控制和同步机制
3.异构性问题:翻译,转换,命名等问题
4.基本调度单位问题:同一任务在多个站点上并发,同一站点并发执行多个任务
5.与硬件系统构成的问题:同构系统,任务间通信,远程任务控制;异构系统,各站点有自己不同的硬件构成,独立的处理
6.与耦合方式的问题:紧耦合,冲突竞争问题(共享存储器);松耦合,机间通信(线路问题)
7.探测各站点停机的能力:系统重构,降级处理,错误处理等能力
分布式进程管理:(揭示进程状态,控制,演变,协同)
互斥:进程协同基础
同步算法和同步机制:资源互斥,不应有饥饿,死锁,无集中控制
分布式算法特点:
1.所有站点都有信息
2.每个站点依据本站点做决策
3.所有站点对决策负责
4.所有站点对决策有共享
5.算法是强健的
困难:
1.系统是由自治的多站点构成,自己做决策
2.没有公共时钟,不能确定事件发生顺序
定序办法:
1.定义法:
HB关系(happend before)a->b表示a先于b发生
1》同一进程,a发生的时间早
2》a发送的消息是b接收的消息
3》a先于b发生,b先于c发生,则a->c
2.系统逻辑时钟法:(时间戳)
事件a先于事件b发生,a的时间戳小,a=>b
时间戳映射算法:
Lamport's Alogrithm:1.进程提出包含时间戳和编号的request;2.每个进程都有一个请求队列(验证该算法的正确性)
改进算法(Ricart&Agrawal's Algorithm):1.pi发送n-1个request;2.pj如果在临界段或正在请求进入且提出早,则推迟回复reply;3.pi收到n-1个reply则进入
3.令牌传递方法:
请求驱动式令牌传递方法:(1.站点故障怎么办?2.Token丢失怎么办?)
适合于非环结构的Token传递:(3.Pi发出request长久未获得Token怎么办?4.若引入时戳,怎么优化?)
适合于非环结构的Token传递:(请求驱动式)
通信机制:(层次化)
1.分布式,以消息传递为基础
2.远程过程调用,RPC,同步--------(调用者如何知道被调用者位于哪个站点?)
--“会话层”功能
十步实现RPC,stub实现底层细节
值传递,异构机之间有格式问题
不能广播,不能大数据,但格式严谨
资源管理:(多种方式并存)
1.单资源多管理者:集中式,分割式
2.多资源多管理者:集中式(一类由一个管理),集中-分布式,完全分布式
投标算法:
步骤:1.申请者招标,2.资源管理RM投标,3.申请者选择,4.调用,5.释放
指标数:1.RM中等待队列的长度,2.两者之间的距离
- 分布式操作系统笔记
- 操作系统学习笔记:分布式文件系统
- 操作系统学习笔记:分布式协调
- 操作系统学习笔记:分布式系统结构
- 分布式操作系统
- 分布式操作系统
- 分布式系统阅读笔记(七)-----操作系统的支持
- 网络操作系统和分布式操作系统
- 网络操作系统与分布式操作系统
- 第十二章 分布式操作系统
- 操作系统与分布式
- 操作系统笔记---操作系统引论
- 操作系统精髓与设计原理学习笔记十:分布式处理、客户/服务器和集群系统
- 操作系统十七八分布式文件系统 分布式协调
- 网络操作系统和分布式操作系统的区别
- 分布式操作系统与网络操作系统异同点
- 网络操作系统和分布式操作系统的区别
- 操作系统笔记
- C# 调用RTX发消息
- 三极管典型开关电路
- iOS开发之-Scroll View Programming 2-Zooming
- 函数指针例程一
- js闭包的用途
- 分布式操作系统笔记
- nodejs>>util
- 车厢调度(栈的经典入门题)
- 身份证验证
- 任意格式转换为json
- 关于openswitch Error ovs-vsctl add-br br-int : connection to /var/run/openvswitch/db.sock failed: No
- 解决android自带蓝牙不能发送接收某些文件类型
- Testing View Controllers Lighter View Controllers Clean table view code
- 计算机网络—网络层1