操作系统lab2实验报告
- 格式:doc
- 大小:3.84 MB
- 文档页数:22


虚拟机安装windows_xp系统实验报告 实验需求:
一台电脑一台电脑 VMware Workstaon 9.0 版本以上版本以上 windows_xp_professional_with_sp3_vol_x86_cd文件文件 实验目的: 学习用虚拟机安装windows_xp系统系统 熟悉windows_xp系统安装步骤系统安装步骤 实验步骤: 1,用VMware Workstaon创建一台电脑创建一台电脑
点击红色区域,点击红色区域,
2,出现一个弹窗,选择红框框住选项。点击下一步。,出现一个弹窗,选择红框框住选项。点击下一步。
3,出现一个向导对话框,选择红框框住选项。点击下一步。,出现一个向导对话框,选择红框框住选项。点击下一步。
4,出现一个向导对话框,选择红框框住选项。点击版本的下拉选项。,出现一个向导对话框,选择红框框住选项。点击版本的下拉选项。
从中选择windows_xp专业版专业版
再点击下一步。再点击下一步。
5,出现一个向导对话框,选择红框框住选项中‘浏览’选择在D盘,不影响电脑运行。再点击下一步。点击下一步。
6,出现一个向导对话框,选择红框框住选项,点击下一步。,出现一个向导对话框,选择红框框住选项,点击下一步。
7,点击完成。,点击完成。
8,选择红框框住选项,选择红框框住选项
9,出现一个对话框,选择红框框住选项,再点击‘浏览’选项,找到并选中windows_xp_professional_with_sp3_vol_x86_cd文件文件
再点击‘确定’再点击‘确定’
10,选择红框框住选项,选择红框框住选项
11,选择红框框住选项,光标会消失。用Ctrl+Alt快捷键会使光标再次浮现,按指示用快捷键会使光标再次浮现,按指示用 ENTER 键
12,出现一个对话框,按F8
13,出现一个对话框,看红框框住选项,按C
14,出现一个对话框,按Backspace 键删去,输入10000,按红框框住选项指示使用ENTER 键
电子工程学院
ASIC专业实验报告
班级:
姓名:
学号:
班内序号:
第一部分 语言级仿真
LAB 1:简单的组合逻辑设计
一、 实验目的
掌握基本组合逻辑电路的实现方法;
二、 实验原理
本实验中描述的是一个可综合的二选一开关,它的功能是当sel = 0时,给出out = a,否则给出结果out = b;在Verilog HDL中,描述组合逻辑时常使用assign结构;equal=a==b1:0是一种在组合逻辑实现分支判断时常用的格式;parameter定义的size参数决定位宽;测试模块用于检测模块设计的是否正确,它给出模块的输入信号,观察模块的内部信号和输出信号;
三、 源代码
module scale_muxout,sel,b,a;
parameter size=1;
outputsize-1:0 out;
inputsize-1:0b,a;
input sel;
assign out = sela:
selb:
{size{1'bx}};
endmodule
`define width 8
`timescale 1 ns/1 ns
module mux_test;
reg`width:1a,b; wire`width:1out;
reg sel;
scale_mux`widthm1.outout,.selsel,.bb,.aa;
initial
begin
$monitor$stime,,"sel=%b a=%b b=%b out=%b",sel,a,b,out;
$dumpvars2,mux_test;
sel=0;b={`width{1'b0}};a={`width{1'b1}};
BUAA_OSlab1实验报告
⼀、思考题
思考1.1
也许你会发现我们的readelf程序是不能解析之前⽣成的内核⽂件(内核⽂件是可执⾏⽂件)的,⽽我们之后将要介绍的⼯具readelf则可以解析,这是为什么呢?(提⽰:尝试使⽤
readelf -h,观察不同)
使⽤原有的readelf解析vmlinux⽂件结果如下:
19377059@stu-112:~/19377059-lab/readelf$ readelf -h ../gxemul/vmlinux
ELF Header:
Magic: 7f 45 4c 46 01 02 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, big endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
Machine: MIPS R3000
Version: 0x1
Entry point address: 0x80010000
Start of program headers: 52 (bytes into file)
Start of section headers: 37196 (bytes into file)
Flags: 0x1001, noreorder, o32, mips1
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 2
Size of section headers: 40 (bytes)
Number of section headers: 14
Section header string table index: 11
BUAAOS——Lab3实验报告
lab3实验报告
思考题
3.1 为什么我们在构造空闲进程链表时必须使⽤特定的插⼊的顺序?(顺序或者逆序)
完成空闲链表的插⼊后,
envs数组下标正好对应链表中的由前到后的顺序,因此调⽤空闲进程数组时优先调⽤下标最⼩的。
3.2 思考
env.c/mkenvid 函数和envid2env 函数:
请你谈谈对
mkenvid 函数中⽣成id 的运算的理解,为什么这么做?
根据进程数组下标给每个进程⼀个独⼀⽆⼆的进程ID,同时还可以通过进程号获取数组偏移量找到进程块进⽽获得进程的全部信息。
为什么
envid2env 中需要判断
e->env_id != envid 的情况?如果没有这步判断会发⽣什么情况?
进程块也许会被替换,⽽ID只与⼀个进程块对应,如果没有这⼀步,可能会执⾏错误的进程块。
3.3 结合
include/mmu.h中的地址空间布局,思考
env_setup_vm 函数:
我们在初始化新进程的地址空间时为什么不把整个地址空间的
pgdir 都清零, ⽽是复制内核的
boot_pgdir作为⼀部分模板?(提⽰:
mips 虚
拟空间布局)因为每个进程都需要拥有内核的页表信息,这样才能够在陷⼊内核时正确执⾏,因此需要把内核拥有的虚拟地址对应的页表进⾏拷贝。
UTOP 和 ULIM 的含义分别是什么,在 UTOP 到 ULIM 的区域与其他⽤户区 相⽐有什么最⼤的区别?
UTOP是⽤户进程读写部分的最⾼地址,
ULIM是⽤户进程的最⾼地址,
UTOP到
ULIM的区域为⽤户进程的进程块还有页表,不能被⽤户⾃⼰更改只能读取。
在 step4 中我们为什么要让
pgdir[PDX(UVPT)]=env_cr3?(提⽰: 结合系统⾃ 映射机制)
env_cr3是页⽬录的物理地址,
pgdir[PDX(UVPT)]对应页⽬录的页⽬录项。
谈谈⾃⼰对进程中物理地址和虚拟地址的理解。
进程对应的地址都是虚拟地址,所有的物理地址只能从页表中查询所得到。不同的进程有着不同且独⽴的虚拟地址,不同进程有可能映射到