第一讲 操作系统概述

知识预备
  • 计算机结构原理
  • C与汇编程序设计
    • 能够看懂程序
    • 使用语法表达算法
  • 数据结构
    • 链表
    • 等…
参考书

操作系统概念, 操作系统–精髓与设计原理

What is system?
  • 目前没有公认的精确定义
  • 操作系统是一个控制程序
  • 操作系统是一个资源管理器
    • 应用程序与硬件之间的中间层
    • 管理计算机软硬件资源
    • 提供访问计算机硬件资源的高效手段
    • 解决资源访问冲突, 确保资源公平使用
操作系统演变
  • 主要功能: 用户态和硬件之间协调抽象,使得用户方便的使用资源
  • 原则: 设计随着技术改变而改变
  • 在过去的二十年底层技术有极大改变
    • 单用户系统
      • 操作系统 = 装载器 + 通用子程序库
      • 问题: 昂贵组件的低利用率
      • 利用率 = (执行时间 + 读卡时间) / 执行时间
    • 批处理系统
      • 打印和输入不使用计算机, 由周边设备完成, 程序执行仍然是顺序执行
    • 多程序系统
      • 异步 I/O, 多个程序交替执行,需要程序主动交出CPU使用权
    • 分时
      • 多个程序交替执行, 增加timer interrupt, 各个程序分时执行, 调度虽然增加了CPU资源的消耗,但是从用户的角度来看,节约了用户的时间,也是提升效率
    • 个人计算机: 每个用户一个系统
      • 单用户
      • 利用率已不再是关注重点
      • 重点是用户界面和多媒体功能
      • 很多老的服务和功能不存在
    • 分布式计算机: 每个用户多个系统
      • 网络支持成为一个重要功能
      • 支持分布式服务,跨多系统的数据共享和协调
      • 可能使用多个处理器
      • 高可用和可靠性要求
操作系统结构
  • 简单结构
    • 未拆分模块
    • MS-DOS 在接口和功能水平没有很好分离, 主要使用汇编编写, 不同的硬件需要写不同的操作系统
  • 分层结构
    • 每层建立在低层之上
    • 最底层(layer 0), 是硬件
    • 最高层(layer N), 是用户界面
    • 每一层仅使用更低一层的功能和服务
    • 与硬件平台无关的部分使用高级语言, 其余的仍然使用汇编语言, 移植的时候仅需要修改汇编部分
总结
  • 操作系统很有趣, 可以管理和控制整个计算机
  • 但是它不完备, bug, 性能异常, 功能缺失, 有很多挑战和基于
  • 庞大, 许多概念和原理 代码需要了解
  • 有足够的恒心和投入可以在一个学期学会操作系统原理和ucore OS (1w行代码左右)的实现
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值