Presentation is loading. Please wait.

Presentation is loading. Please wait.

主讲:陈香兰 助教:贾永泉、毛熠璐 (西区电三421) Autumn 2007

Similar presentations


Presentation on theme: "主讲:陈香兰 助教:贾永泉、毛熠璐 (西区电三421) Autumn 2007"— Presentation transcript:

1 主讲:陈香兰 助教:贾永泉、毛熠璐 xlanchen@ustc.edu.cn 3606864-83(西区电三421) Autumn 2007
Linux操作系统分析 主讲:陈香兰 助教:贾永泉、毛熠璐 (西区电三421) Autumn 2007

2 访问文件

3 Embedded Operating Systems
提纲 读写文件 内存映射 直接I/O传输 Embedded Operating Systems

4 Embedded Operating Systems
对换:释放内存的方法 目的: 为了扩展进程有效使用的地址空间 为了扩展动态RAM的数量 方法: 利用磁盘上的一些空间来扩展RAM 以降低访问速度为代价来扩大可寻址内存的数量 原理: 局部性原理的另一种解释 对程序员透明 Embedded Operating Systems

5 Embedded Operating Systems
第一个Unix系统中的对换技术 在第一个Unix系统中,内核对空闲内存的数量进行监控。 当空闲内存的数量小于某个固定的阈值时,就执行换出操作 换出操作包括将整个进程的整个地址空间拷贝到磁盘上 当调度算法选择一个已被换出的进程时,执行换入操作 换入操作将整个进程从磁盘中装入内存 Embedded Operating Systems

6 Embedded Operating Systems
缺点: 由于换入换出时,上下文切换的代价过高,不得不增加调度的复杂性:在不完全排除换出进程的情况下,优先考虑RAM中的进程 Embedded Operating Systems

7 Embedded Operating Systems
Linux中的对换技术 得益于CPU中的硬件分页单元,Linux目前不采用进程地址空间级别的对换,而采用页级别的对换技术 利用页表项中的标志位 Present Accessed等 存放磁盘上的页的位置 缺页异常 Embedded Operating Systems

8 Embedded Operating Systems
有四个主要考虑的问题 哪种页要换出 降低复杂性、考虑必要性 如何在对换区中分布各个页 提高访问效率 如何选择被对换出的页 LRU算法,x86中的近似LRU算法 何时执行页换出操作 阈值、kswapd Embedded Operating Systems

9 Project回顾

10 Embedded Operating Systems
Project 1:基于I386的LinuxLinux2.4.18启动过程分析 Embedded Operating Systems

11 Embedded Operating Systems
Project 2:进程的切换 对Linux中进程的切换过程进行分析,提交分析报告 Embedded Operating Systems

12 Project 3:基于I386的Linux2.4.18的进程创建的分析和实践
调用fork创建一个子进程 然后让子进程和父进程分别输出fork的返回值 目的:从用户态体验进程的创建 对Linux中进程的创建进行分析,提交分析报告 Embedded Operating Systems

13 Project 4 :中断、异常和系统调用分析和实践
分析中断、异常和系统调用的代码,提交分析报告 采用某种方法截获一个中断,例如键盘中断 采用某种方法制造缺页异常 自己编写一个系统调用 Embedded Operating Systems

14 Embedded Operating Systems
Project 5 在用户态编写一个程序,该程序设定一个定时器,在时间到期的时候做出某种可观察的响应 方法不限 分析你的程序的实际执行借助了内核的哪些机制 Embedded Operating Systems

15 Embedded Operating Systems
Project 6 分析Linux的VFS相关的数据结构、文件系统的挂载操作,了解VFS中的各种操作(例如read)是如何与一个具体的文件系统相关的。 Embedded Operating Systems

16 Embedded Operating Systems
Project 7: 实现一虚拟字符驱动 char_dev.c makefile testchardev.c 设备名定为:char_dev 用命令insmod char_dev.o加载 用命令lsmod察看是否成功加载 使用dmesg察看主设备号 使用mknod char_dev c 253 1在/dev目录下创建设备文件 运行Testchardev.c测试 Embedded Operating Systems

17 Embedded Operating Systems
研究举例 嵌入式方向 通用方向 分布式、并行 Embedded Operating Systems

18 Embedded Operating Systems
高性能I/O技术 嵌入式内存压缩技术 Flash文件系统 VxWorks TrueFFS等 Embedded operating system 微内核、基于构件等 低功耗 Grid operating system Cluster 调度、进程迁移、进程同步与通信 Embedded Operating Systems

19 Embedded Operating Systems
操作系统形式化方面的研究 操作系统安全 可信操作系统 Embedded Operating Systems

20 Embedded Operating Systems
本实验室 基于服务体/执行流模型的操作系统 面向服务的分布式操作系统 操作系统的可靠性研究 操作系统的安全性研究 Embedded Operating Systems


Download ppt "主讲:陈香兰 助教:贾永泉、毛熠璐 (西区电三421) Autumn 2007"

Similar presentations


Ads by Google