第一章 、介绍

2018-08-05  本文已影响26人  Jorunk
内容摘要.png

课程概述

预备知识

参考教材

操作系统概念(第七版);Silberschatz、 Galvin和Gagne著
操作系统——精髓与设计原理(第七版); William Stallings著

课程内容

■ 操作系统结构
■ 中断及系统调用
■ 内存管理
■ 进程及线程
■ 处理机调度
■ 同步互斥
■ 文件系统
■ I/O子系统

操作系统实验

■ 实验0: 实验环境准备
■ 实验1: 系统启动及中断
■ 实验2: 物理内存管理
■ 实验3: 虚拟内存管理
■ 实验4: 内核线程管理
■ 实验5: 用户进程管理
■ 实验6: CPU调度
■ 实验6: CPU调度
■ 实验7: 同步与互斥
■ 实验8: 文件系统

课程设计

■ ucore+模块化改进

■ 在真实系统上运行ucore+

什么是操作系统?

操作系统定义

■ 没有公认的精确定义
■ 操作系统是一个控制程序

操作系统地位


操作系统软件的分类

操作系统软件的组成

■ Shell -- 命令行接口

ucore教学操作系统内部

操作系统内核特征

■ 并发

为什么要学习操作系统

操作系统是多门课程的综合

■ 综合课程-结合许多不同的课程

学习操作系统的目的

■ 已有操作系统很好,我将来的工作不会写操作系统

操作系统软件的地位

■ 操作系统:计算机科学研究的基石z之一

哪里在做操作系统研究?

■ 顶尖大学的计算机科学部门
■ 计算机产业

操作系统研究的顶级会议

■ ACM操作系统原理研讨会(SOSP)

最具影响力的操作系统论文

■ SIGOPS Hall-of-Fame Awards

操作系统具有挑战性

■ 操作系统很大

■ 操作系统是关于
■ 权衡

如何学习操作系统

■ "不闻不若闻之,闻之不若见之,见之不若知之,知之不若行之;学至于行之而止矣。"
--荀子《儒效篇》
■ “天才是1%的灵感加上99%的汗水"
-- Thomas Edison


操作系统实例


KenThompson、Dennis Ritchie

Linux家族


Windows家族

操作系统的演变

操作系统为什么改变

■ 只要功能:硬件抽象和协调管理
■ 原则:设计随着各种相关技术的改变而做出一定的改变
■ 在过去二十年底层技术有极大的改变

操作系统的演变

■ 单用户系统
■ 批处理系统
■ 多道程序系统
■ 分时
■ 个人计算机:每个用户一个系统
■ 分布式计算:每个用户多个系统

单用户系统(‘45 - ’55)

■ 操作系统 = 装载器 + 通用子程序库
■ 问题:昂贵的组件的低利用率


批处理(‘55 - ’65)

■ 顺序执行与批处理


多道程序(‘65 - ’80)

■ 保证多个工作在内存中并且在个工作间复用CPU


分时(‘70 - )

■ 定时中断用于工作对CPU的复用


个人端脑操作系统

■ 个人电脑系统

分布式操作系统

■ 网络支持成为一个重要的功能
■ 通常支持分布式服务

操作系统演变中的计算机系统

操作系统结构

简单结构

■ MS-DOS - 在最小空间,设计用于提供大部分功能(1981 ~ 1994)

分层结构

■ 将操作系统分为多层(levels)

■ 每一层仅使用更低一层的功能(操作)和服务

UNIX操作系统与C语言

■ 1972由Kenneth Thompson和Dennis Ritchie在贝尔实验室设计。
■ 设计用于UNIX操作系统的编程例程
■ “高级”系统编程语言创建可移植操作系统概念


K. Thompson and D. Ritchie

uCore操作系统结构

微内核接口(Microkernel)

■ 尽可能把内核功能移到用户空间
■ 用户模块间的通信使用消息传递
■ 好处:灵活、安全
■ 缺点:性能


外核结构(Exokernel)

■ 让内核分配机器的物理资源给多个应用程序,并让每个程序决定如何处理这些资源
■ 程序能链接到操作系统库(libOS)实现操作系统抽象
■ 保护与控制分离


VMM(虚拟机管理器)


■ 虚拟机管理器将单独的机器接口转换成很多的虚拟机,每个虚拟机都是一个原始计算机系统的有效副本,并能完成所有的处理器指令。


小结

■ 操作系统很有趣,可以管理和控制整个计算机!
但...
■ 它是不完备的

上一篇下一篇

猜你喜欢

热点阅读