OS课程设计报告

  • 格式:doc
  • 大小:724.00 KB
  • 文档页数:37

南京航空航天大学 1 操作系统课程设计报告

题目:基于Unixlite的操作系统课程设计

专 业 计算机科学与技术 班 级 0409305 学 号 学生姓名 指导教师 设计时间 教师评分

2012年 6月 21 日计算机操作系统课程设计报告

1 目录

1.概述 .................................................................................................................. 2 1.1课程设计目的 .......................................................................................... 2 1.2课程设计任务 .......................................................................................... 2 2.实验过程及结果 .............................................................................................. 2 2.1**实验 ............................................................................................... 2 2.2**实验 ............................................................................................... 3 2.3**实验 ............................................................................................... 3 2.4**实验 ............................................................................................... 6 2.5**实验 ............................................................................................... 9 2.6**实验 ............................................................................................. 13 2.7**实验 ............................................................................................. 14 2.8**实验 ............................................................................................. 21 2.9**实验 ............................................................................................. 25 2.10**实验…………………………………………………………...31 2.11**实验…………………………………………………………...33 3.所遇到的问题,你是怎样解决这些问题的 ........................................ 35 4.体会收获及建议 .................................................................................... 35 参考资料(书、论文、网络资料) .......................................................... 36 计算机操作系统课程设计报告 2 1.概述 1.1课程设计目的 通过操作系统课程设计,提高Unix操作系统的理解。从而引申到对操作系统系统调用,进程同步,进程通信,文件系统等多方面有深刻的理解与认识,结合课堂上的理论知识,更好的了解操作系统对于整个计算机系统的作用与地位。同时通过编程,提高动手能力,同时对C语言有一定的回顾。

1.2课程设计任务

1. 内核实验:为UnixLite系统编写新的功能模块 2. 文件系统实验:编写一个用户程序,实现文件管理器的功能

2.实验过程及结果 2.1**实验 一.实验目的 熟悉UNIX系统环境以及常用指令,熟悉vi编辑器以及make工具的使用

二.实验内容

1. UNIX系统编程环境介绍 1.1. 常见命令 1.2. tar归档和gzip压缩 1.3. vi编辑器 计算机操作系统课程设计报告 3 1.4. make和Makefile

2.2**实验 一.实验目的 了解实验环境以及宿主机,目标机等相应的概念 二.实验内容

2. 实验环境介绍 2.1. QEMU、宿主机和目标机 2.2. 完成本次实验所要的软件包 2.3. 宿主机中的软件包 2.4. 注意事项

2.3**实验 一.实验目的 了解生成目标机,并配置生成目标机 二.实验内容

3. 生成目标机 3.1. 编译unixlite内核 3.2. 制作目标机的启动软盘 计算机操作系统课程设计报告 4 3.3. 对目标机的硬盘分区 3.4. 格式化目标机的硬盘 3.5. 安装目标机的文件系统 3.6. 测试目标机 三.实验步骤、功能及结果 3.1. 编译unixlite内核 生成系统内核可执行文件kernel.target和系统内核镜像文件Image # cd ~/kernel # make dep # make 3.2. 制作目标机的启动软盘 把系统内核镜像文件Image写入到软盘。 # cd ~/kernel # dd if=Image of=/dev/fd0 3.3. 对目标机的硬盘分区

[root@(none) kernel]# fdisk /dev/hdb Command (m for help): m // 帮助 Command (m for help): p //打印当前分区表 计算机操作系统课程设计报告 5 Command (m for help): n //创建新的分区 Command action e extended p primary partition (1-4) p //分区类型是主分区 Partition number (1-4): 1 //第一主分区 First cylinder (1-4, default 1): //输入回车,使用缺省值 Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-4, default 4): // 输入回车,使用缺省值

Using default value 4 Command (m for help): p //打印当前分区表

Command (m for help): t //改变分区类型

Selected partition 1 Hex code(Type L to list codes): 81 //输入minix分区代码:81

Command (m for help): p //打印当前分区表 Command (m for help): w //存盘退出 计算机操作系统课程设计报告 6 3.4. 格式化目标机的硬盘 # mkfs.minix -v -n30 /dev/hdb1 3.5. 安装目标机的文件系统  挂载目标机的硬盘 # mount /dev/hdb1 /mnt/hdb1  安装基本的文件系统 # tar zxvf rootfs.tar.gz -C /mnt/hdb1  卸载目标机的硬盘 # umount /mnt/hdb1 3.6. 测试目标机

2.4**实验 一.实验目的 启动目标机时打印出学号 计算机操作系统课程设计报告 7 二.实验内容

4. Hello World! 4.1. 目标 4.2. 步骤 4.3. 注意事项 三.实验步骤、功能及结果 4.1. 目标 在目标机启动时打印出你的学号。 4.2. 步骤  编辑内核源文件~/kernel/init/main.cc,main.cc定义了系统的入口:main函数,在main函数中找到如下两行代码:

int main() { .…. printf("Total Memory Size is %d Meg\n", nphysmeg); i386init(); /* setup gdt,idt,cr0 */ ….. }  在这两行之间插入打印学号的代码,变为: