操作系统课设html,操作系统课程设计报告(含源代码).doc

操作系统课程设计报告(含源代码)

操作系统课程设计报告

姓名:

学号:

班级:

2010年6月25日

目录

一、 试验实现3

试验三、生成目标机3

3.1. 编译unixlite内核3

3.2. 制作目标机的启动软盘3

3.3. 对目标机的硬盘分区3

3.4. 格式化目标机的硬盘4

3.5.?安装目标机的文件系统4

3.6. 测试目标机5

试验四、Hello World!5

4.1. 目标5

4.2. 步骤5

试验五、系统调用的原理6

5.1. 目标6

5.2. 步骤7

试验七、 实现信号灯操作的系统调用9

7.1. 增加四个系统调用:9

7.2. 编写四个测试程序:13

7.3. 运行测试程序15

试验八、 实现进程间通信的系统调用16

8.1. 增加四个系统调用:16

8.2. 编写四个测试程序:20

8.3. 运行测试程序22

二、 心得体会23

第一部分 试验实现

试验三、生成目标机

3.1. 编译unixlite内核

生成系统内核可执行文件kernel.target和系统内核镜像文件Image

# cd ~/ker

# make dep

# make

3.2. 制作目标机的启动软盘

把系统内核镜像文件Image写入到软盘。

# cd ~/kernel

# dd if=Image of=/dev/fd0

3.3. 对目标机的硬盘分区

Command (m for help): m // 帮助

Command (m for help): p打印当前分区表

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 存盘退出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/hdb13.6. 测试目标机

Hello World!

4.1. 目标

在目标机启动时打印出你的学号。

4.2. 步骤

编辑内核源文件~/kerl/init/main.cc,main.cc定义了系统的入口:main函数,在main函数中找到如下两行代码:

int main()

{….

printf("Total Memory Size is %d Meg\n", nphysmeg);

i386init(); /* setup gdt,idt,cr0 */

…..

}

在这两行之间插入打印学号的代码,变为:

printf("Total Memory Size is %d Meg\n", nphysmeg);

printf("This is student:n");

i386init(); /* setup gdt,idt,cr0 */

在~/kerl目录下使用make命令重新编译内核,生成内核镜像文件Image:

# cd ~/kernel

# make把系统内核镜像文件Image写入到软盘:

# cd ~/kernel

# dd if=Image of=/dev/fd0

在windows下启动目标机,查看目标机启动时是否打印出你的学号。

试验五、系统调用的原理

5.1. 目标

通过为unixlite开发一个简单的系统调用了解系统调用的原理,要增加的系统调用原型是:int add(int a, int b);

add的功能是返回参数a、参数b两者

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值