高高。。。。
重点:存储系统/分布式系统
得到数据:
- 数据模型计算(简单系统)
 - 实现一个操作系统CPU(成本高)
 - 仿真实验
 
文章类型:
- 国际会议 10-15slices
 - 期刊论文
 
做OS研究为其他方面提供支持



一?Advanced OS Overview
Rethink OS Components
1、回顾os的发展历史

2、

3、
- 单机系统,打通硬件和软件之间的桥梁 
  
- 内存管理、进程管理、同步机制、文件系统、设备驱动
 - VMM系统虚拟机
 
 - 安全性
 - 正确性
 - 分布式系统
 

4、目的
- 干净的虚拟环境:让进程得到需要的资源去运行
 - 硬件无关
 - 资源相互隔离且可以共享,管理
 - 数据存储、可靠
 
下面四个是新的要求
- 保护
 - 实时支持
 - 并行
 - 人机交互
 

Strategy 战略
- How do we organize the Os effectively for development,evolution, performance, and security?
 - 我们如何有效地组织操作系统以实现开发、演进、性能和安全性?
 - How do we use multi- processor machines effectively?
 - 我们如何有效地使用多处理器机器?
 
5、内存管理
目的
- 虚拟内存:提供了无限物理内存的错觉
 - 交换:根据需要将进程移至磁盘
 - 分页:允许进程仅在内存中运行活动页面
 - 缓冲缓存:加速输入/输出访问
 
策略
- 我们如何协调机器以共享内存?
 - 随着内存变得丰富,我们如何简化内存管理?
 

6、调度
目的
- 提供了在单个处理器上同时运行多个进程的错觉
 - 上下文切换:改变处理器的关注点 
  
- 涉及保存和恢复状态
 - 必要时越过内核边界
 
 
策略
 - 我们如何在同时实现公平性、高吞吐量和响应性?
 - 我们如何减少或避免上下文切换的成本?

7、单机:同步管理
目的
- 提供在任意上下文切换情况下正确执行或协调线程的能力。
 
策略
 - 原子操作:一切或无
 - 互斥:一次只允许一个线程进入临界区
 - 信号量:基于计数的原子锁
 - 避免死锁:避免在资源上形成循环等待。

8、文件系统
目的
- ?文件:数据 + 属性
 - -文件系统服务: 
  
- ? - 组织
 - ? - 命名
 - ? - 访问
 - ? - 同步
 - ? - 保护和安全
 
 
策略
 - 如何使不同的文件系统在一起工作,甚至跨越多台机器?
 - 如何为在多台机器上的文件副本提供一致性、可用性和可靠性?
 - 如何处理非常大的数据集?

9、单机:I/O 设备
 目的
- - I/O 设备往往比内存速度慢得多
 - - 缓存:将额外的数据存储在内存中,以期望在近期内再次使用
 
策略
 - 如何协调跨多台机器的内存资源以提高性能?
 - 如何处理具有新特性的新设备?
 Tendency of OS -- Performance
 
1、趋势
- 性能
 - 可靠性
 - 正确性
 
2、然而,操作系统和应用程序能否有效地利用这些核心?

3、常见的OS
加速比:希望随着核数的增加系统性能能够线性增加,但是没有达到这样的效果

这一系列词汇似乎是关于计算机技术和操作系统的。以下是它们的翻译:
- Apache: 一个流行的开源Web服务器软件。
- OLTP: 在计算机科学中指的是联机事务处理,用于处理实时的事务和数据库操作。
- RMS: 可能指"Record Management System",这是一种用于管理记录和数据的系统。
- Windows: 微软的操作系统。
- Linux: 一种开源的类Unix操作系统。
- FreeBSD: 一种类Unix操作系统,是从BSD(Berkeley Software Distribution)发展而来的
- NetBSD: 另一种类Unix操作系统,与FreeBSD有关,但有一些不同的设计目标。
- Solaris: 一种由Oracle公司开发的Unix操作系统。
- Multicore: 多核,指的是一个计算机芯片上拥有多个处理核心。
?tmpfs 是内存中的文件系统,允许多个CPU同时访问一个文件系统
内部核互斥竞争带来的性能陡降

4、结论
- 没有一个系统在所有方面的微基准测试中都明显优于其他系统。
 - 在应用程序基准测试中,Linux和Solaris表现竞争力,而FreeBSD在性能和可扩展性上都不如它们。
 - 在多核平台上,保护共享数据结构的内核同步是主要的性能瓶颈。
 
Tendency of OS -- Reliability
1、可靠性:系统或组件在规定条件下在指定时间内执行其所需功能的能力。
- 通常比仅仅“可用性”更为强大:这意味着系统不仅“运行”,而且还能正确工作。
 - 包括可用性、安全性、容错/耐久性。
 - 必须确保数据在系统崩溃、磁盘崩溃等情况下能够存活。
 
2、安全问题

3、威胁分析
- 我们试图保护什么?(为什么?)
 - 这些资产存在哪些漏洞?
 - 谁可能(意外地)利用漏洞?
 - 我们如何防范特定威胁?
 - 我们为防范它愿意付出多少代价?
 
4、核心技术问题
- 控制对计算机和数据资源的访问
 - 控制访问权限从持有者传递到持有者的方式,从人到人,从程序到程序
 - 防止恶意行为和错误破坏控制措施
 
5、系统安全技术



Tendency of OS -- Correctness + Summary
1、正确性及总结

2、如何确保成程序是正确的,要给出不同层面的定义
3、保证正确性面临的挑战
组件来自不同的来源
 - 手动编写的汇编:C/C++
 - 类型安全的语言:Java, C#
 - Go, Rust
 - 领域特定语言(DSL)
许多不同的特性
 - 代码加载
 - 控制抽象
- ? jmp(goto)/函数
 - ? 异常/中断
 - ? 进程/线程
 
- 内存更新
- ?类型保持更新
 - ?类型更改更新
 - ?指针算术 (c语言特有的)
 

4、总结
AlM(Abstract Machine Language)机器
- 低级
 - 能够实现中断处理程序和线程库
 
程序逻辑
- 遵循分离逻辑中的局部推理
 - 通过内存所有权转移对cli/sti、switch、block/unblock进行建模
 - 能够对不同的锁和条件变量实现进行认证
 

二 OS Architecture &Structure 操作系统架构与结构
2.1?Overview
1、为什么研究架构与结构
- 对于 用户/开发者 
  
- 关注点:是否方便实用,方便学习,可靠,速度
 
 - 对于 系统架构师/开发者 
  
- 关注点:方便设计、实施、维护;灵活性、可靠性、没有错误、有效性
 
 
2、历史





本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!