自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 实验3-系统调用

一、实验目的 建立对系统调用接口的深入认识; 掌握系统调用的基本过程; 能完成系统调用的全面控制; 为后续实验做准备。 二、实验步骤 1.修改unistd.h 图片描述 其中新增代码为 2.修改include/linux/sys.h 进入/home/shiyanlou/oslab/linux-0.11/中修改,有两个点需要修改: 1)仿照前面各个系统调用的写法,添加如下代码 extern int sys_iam(); extern int sys_whoami(); 2)在sys_call_table中新加

2020-08-25 17:00:03 340

原创 实验9-proc文件系统的实现

实验九 实验目的 掌握虚拟文件系统的实现原理 实践文件、目录、文件系统等概念 实验内容 在Linux 0.11上实现procfs(proc文件系统)内的psinfo结点。当读取此结点的内容时,可得到系统当前所有进程的状态信息。例如,用cat命令显示/proc/psinfo的内容,可得到: $ cat /proc/psinfo pid state father counter start_time 0 1 -1 0 0 1 1 0 28

2020-08-25 16:35:45 561

原创 实验8-终端设备的控制

实验报告 1. 实验内容 本实验的基本内容是修改 Linux 0.11 的终端设备处理代码,对键盘输入和字符显示进行非常规的控制。 在初始状态,一切如常。用户按一次 F12 后,把应用程序向终端输出所有字母都替换为“*”。用户再按一次 F12,又恢复正常。第三次按 F12,再进行输出替换。依此类推。 以 ls 命令为例: 正常情况: # ls hello.c hello.o hello 第一次按 F12,然后输入 ls: # ** *****.* *****.* ***** 第二次按 F12,然后输入

2020-08-25 16:33:01 557 1

原创 实验7-地址映射与共享

实验报告 1.实验内容 用 Bochs 调试工具跟踪 Linux 0.11 的地址翻译(地址映射)过程,了解 IA-32 和 Linux 0.11 的内存管理机制; 在 Ubuntu 上编写多进程的生产者—消费者程序,用共享内存做缓冲区; 在信号量实验的基础上,为 Linux 0.11 增加共享内存功能,并将生产者—消费者程序移植到 Linux 0.11。 2.实验目的 深入理解操作系统的段、页式内存管理,深入理解段表、页表、逻辑地址、线性地址、物理地址等概念; 实践段、页式内存管理的地址映射过程;

2020-08-25 16:31:41 566

原创 实验6-信号量的实现和应用

实验报告 1.实验内容 在 Ubuntu 下编写程序,用信号量解决生产者——消费者问题; 在 0.11 中实现信号量,用生产者—消费者程序检验之。 2.实验目的 加深对进程同步与互斥概念的认识; 掌握信号量的使用,并应用它解决生产者——消费者问题; 掌握信号量的实现原理。 3.实验步骤 3.1 用信号量解决生产者—消费者问题 在 Ubuntu 上编写应用程序“pc.c”,解决经典的生产者—消费者问题,完成下面的功能: 建立一个生产者进程,N 个消费者进程(N>1); 用文件建立一个共享缓冲区

2020-08-25 16:27:12 875

原创 实验5-基于内核栈切换的进程切换

实验报告 1. 实验内容 修改进程切换方式,由TSS模式,切换到栈模式。 2. 实验步骤 修改schd.c 中的switch_to 函数; 原先此函数中使用ljmp到tr寄存器指定的描述符中获取tss结构体的的地址,并map的寄存器中(包括CS:IP,SS:SP,AX,CX,DX…); 现在使用栈模式即需使在代码中手动将esp由旧的内核栈地址切换为新栈地址,然后pop出相应寄存器,直到完成ret指令,从新栈中获取新进程的eip,cpu才执行新进程。另外定义了一个tss的全局结构体变量,用以在cpu执行

2020-08-25 15:52:12 431

原创 实验4-进程运行轨迹的跟踪与统计

一、实验目的 掌握 Linux 下的多进程编程技术; 通过对进程运行轨迹的跟踪来形象化进程的概念; 在进程运行轨迹跟踪的基础上进行相应的数据统计,从而能对进程调度算法进行实际的量化评价,更进一步加深对调度和调度算法的理解,获得能在实际操作系统上对调度算法进行实验数据对比的直接经验。 二、实验内容 基于模板 process.c 编写多进程的样本程序,实现如下功能: 所有子进程都并行运行,每个子进程的实际运行时间一般不超过 30 秒; 父进程向标准输出打印所有子进程的 id,并在所有子进程都退

2020-08-25 15:45:00 534

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除