高级操作系统

重点:存储系统/分布式系统

得到数据:

  • 数据模型计算(简单系统)
  • 实现一个操作系统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、历史

  • 29
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值