课程基本信息
- 必修
- 课时:2课时/次*2次/周*15周=60课时
- 机时:30;
|
主讲老师信息
陈香兰(xlanchen@ustc.edu.cn)
- 课程接待日:周三下午,电三421,来之前请先电话联系
- 联系电话:0551-3606864-83
|
助教信息
人数(2人)
助教提供的关于本课程作业和上机有关的主页:http://home.ustc.edu.cn/~sasbl/
- 孙贝磊:
- 宋克鑫:
- 上机时间、上机地点:参见助教关于本课程的主页
- 试验报告上交FTP: osstudent:czxt@202.38.79.82
|
教材
使用“恐龙书”,即《Operating System Concepts》
- 教材主页:http://www.os-book.com/
- 教材信息:英文原版的最新版为第8版,目前国内有第7版的影印版和第6版的翻译版。
|
其他参考书
Understanding the linux kernel
|
Slides
0.课程简介
1. 第一章
2. 第二章
3. 第三章
4. 第五章
5. 第四章
6. 第六章
7. 第七章
8. 第八章
9. 第九章
10. 第十章
11. 第十一章
12. 第十二章
13. 第十三章
|
交作业通知
第一次交作业的时间:待通知。第一章作业
第二次交作业的时间:待通知。第二章作业和第三章作业
第三次交作业的时间:待通知。第四章作业和第五章作业
第四次交作业的时间:待通知。第六章作业和第七章作业
第五次交作业的时间:待通知。第八章作业
第六次交作业的时间:待通知。第九章作业
第七次交作业的时间:待通知。第十章作业(若上次没有做)、第十一章作业和第十三章作业
|
上机实验
实验1
在虚拟机(VirtualBox)上安装一款Linux发行版操作系统(推荐KUbuntu) 注意:使用虚拟机不是必须的。可以直接在裸机上安装。也可以使用wubi安装。
熟悉Linux下的软件安装方法
安装一个可用的集成开发环境(推荐:eclipse CDT)和GCC编译工具链(大多自带)
学会编写简单的shell脚本
注意:为防止数据因重装系统丢失,建议将数据与系统分开管理
完成时间:由助教指定
实验2
在linux中,编写一个程序,该程序能创建一个进程
- 父进程输出当前的时间和日期
- 父进程输出自己的进程号和子进程的进程号
- 子进程输出自己的进程号
- 让子进程执行另外一个程序
- 提示:getpid,fork,execve
- 提供上机报告,说明:
- 编写程序的过程中参考的材料或者网页
- 编写程序的过程中出现的错误,解决问题的方法
- 附上源代码和运行结果的截图
- 完成时间:由助教指定
实验3
- 在ftp://alpha.gnu.org/gnu/grub/上下载grub-0.97.tar.gz,编译
- 制作grub启动软盘
- 到网络上下载一个可用的OS映像,编写menu.lst,利用grub启动之
- 也可以自己编译一个Linux内核、制作一个根文件系统,启动之
- 可以参考这里
- 提交实验报告
- 完成时间:由助教指定
实验4
- 写一个多线程的程序,求素数。
- 要求1:用户运行程序时在命令行输入一个素数,然后程序创建一个独立新的线程来输出小于或等于用户所输入数的所有素数。
- 要求2:采用两种thread来实现pthread或者Windows thread或者Java thread
- 完成时间:由助教指定
实验5:本实验在讲完同步后才截止
实验6
|