操作系统实习报告

2024-08-08 版权声明 我要投稿

操作系统实习报告(精选9篇)

操作系统实习报告 篇1

1一、实习内容模拟分页式虚拟存储管理中硬件的地址转换和缺页中断,以及选择页面调度算法处理缺页中断。

二、实习目的在计算机系统中,为了提高主存利用率,往往把辅助存储器(如磁盘)作为主存储器的扩充,使多道运行的作业的全部逻辑地址空间总和可以超出主存的绝对地址空间。用这种办法扩充的主存储器称为虚拟存储器。通过本实习理解在分页式存储管理中怎样实现虚拟存储器。

三、实习题目本实习有三个小题。第一题:模拟分页式存储管理中硬件的地址转换和产生缺页中断。[设计思路、数据结构、流程图]:(1)分页式虚拟存储系统是把作业信息的副本存放在磁盘上,当作业被选中时,可把作业的开始几页先装入主存且启动执行。为此,在为作业建立页表时,应说明哪些页已在主存,哪些页尚未装入主存,页表的格式为:页号标志主存块号在磁盘上的位置其中,标志——用来表示对应页是否已经装入主存,标志位=1,则表示该页已经在主存,标志位=0,则表示该页尚未装入主存。主存块号——用来表示已经装入主存的页所占的块号。在磁盘上的位置——用来指出作业副本的每一页被存放在磁盘上的位置。(2)作业执行时,指令中的逻辑地址指出参加运算的操作数存放的地址,该地址被解释为页号和单元号,硬件的地址转换机构按页号查页表,若该页对应标志为“1”,则表示该页已在主存,这时根据关系式:绝对地址=块号´块长+单元号计算出欲访问的主存单元地址。如果块长为2的幂次,则可把块号作为高地址部分,把单元号作为低地址部分,两者拼接而成绝对地址。按计算出的绝对地址可以取到操作数,完成一条指令的执行。若访问的页对应标志为“0”,则表示该页不在主存,这时硬件发“缺页中断”信号,由操作系统按该页在磁盘上的位置,把该页信息从磁盘读出装入主存后再重新执行这条指令。(3)设计一个“地址转换”程序来模拟硬件的地址转换工作。当访问的页在主存时,则形成绝对地址,但不去模拟指令的执行,而用输出转换后的地址来代替一条指令的执行。当访问的页不在主存时,则输出“*该页页号”,表示产生了一次缺页中断。该模拟程序的算法如图1。(4)假定主存的每块长度为128个字节;现有一个共七页的作业,其中第0页至第3页已经装入主存,其余三页尚未装入主存;该作业的页表为:页号标志主存块号在磁盘上的位置0***2190***2250023601

21图1 地址转换模拟算法如果作业依次执行的指令序列为:操作页号单元号操作页号单元号+0070移位4053+1050+5023´2015存1037存3021取2078取0056+4001-6040存6084运行设计的地址转换程序,显示或打印运行结果。因仅模拟地址转换,并不模拟指令的执行,故可不考虑上述指令序列中的操作。第二题:用先进先出(FIFO)页面调度算法处理缺页中断。[设计思路、数据结构、流程图]:(1)在分页式虚拟存储系统中,当硬件发出“缺页中断”后,引出操作系统来处理这个中断事件。如果主存中已经没有空闲块,则可用FIFO页面调度算法把该作业中最先进入主存的一页调出,存放到磁盘上。然后再把当前要访问的页装入该块。调出和装入后都要修改页表中对应页的标志。(2)FIFO页面调度算法总是淘汰该作业中最先进入主存的那一页,因此可以用一个数组来表示该作业已在主存的页面。假定作业被选中时,把开始的m个页面装入主存,则数组的元素可定为m个。例如:p[0],p[1]…,p[m-1]其中每一个p[i](I=0, 1, …, m-1)表示一个在主存中的页面号。它们的初值为:p[0]: =0, p[1]: =1, …, p[m-1]: =m-1用一指针K指示当要装入新页时,应淘汰的页在数组中的位置,K的初值为“0”。当产生缺页中断后,操作系统选择p[k]所指出的页面调出,然后执行:p[k]: =要装入页的页号k: =(k+1)mod m再由装入程序把要访问的一页信息装入到主存中。重新启动刚才那条指令执行。(3)编制一个FIFO页面调度程序,为了提高系统效率,如果应淘汰的页在执行中没有修改过,则可不必把该页调出(因在磁盘上已有副本)而直接装入一个新页将其覆盖。因此在页表中增加是否修改过的标志,为“1”表示修改过,为“0”表示未修改过,格式为:页号标志主存块号修改标志在磁盘上的位置由于是模拟调度算法,所以,不实际地启动调出一页和装入一页的程序,而用输出调出的页号和装入的页号来代替一次调出和装入的过程。

把第一题中程序稍作改动,与本题结合起来,FIFO页面调度模拟算法如图2。图2 FIFO页面调度模拟算法(4)如果一个作业的副本已在磁盘上,在磁盘上的存放地址以及已装入主存的页和作业依次执行的指令序列都同第一题中(4)所示。于是增加了“修改标志”后的初始页表为:页号标志主存块号修改标志在磁盘上的位置0***1221900******1按依次执行的指令序列,运行你所设计的程序,显示或打印每次调出和装入的页号,以及执行了最后一条指令后的数组p的值。(5)为了检查程序的正确性,可再任意确定一组指令序列,运行设计的程序,核对执行的结果。第三题:用最近最少用(LRU)页面调度算法处理缺页中断。[设计思路、数据结构、流程图]:(1)在分页式虚拟存储系统中,当硬件发出“缺页中断”后,引出操作系统来处理这个中断事件。如果主存中已经没有空闲块,则可用LRU页面调度算法把该作业中距现在最久没有被访问过的一页调出,存放到磁盘上。然后再把当前要访问的页装入该块。调出和装入后都要修改页表中对应页的标志。(2)LRU页面调度算法总是淘汰该作业中距现在最久没被访问过的那页,因此可以用一个数组来表示该作业已在主存的页面。数组中的第一个元素总是指出当前刚访问的页号,因此最久没被访问过的页总是由最后一个元素指出。如果主存只有四块空闲块且执行第一题中提示(4)假设的指令序列,采用LRU页面调度算法,那么在主存中的页面变化情况如下:******306451当产生缺页中断后,操作系统总是淘汰由最后一个元素所指示的页,再把要访问的页装入淘汰页所占的主存块中,页号登记到数组的第一个元素中,重新启动刚才那条指令执行。(3)编制一个LRU页面调度程序,为了提高系统效率,如果淘汰的页在执行中没有修改过,则可不必把该页调出。参看第二题中提示(3)。模拟调度算法不实际地启动调出一页和装入一页的程序而用输出调出的页号和装入的页号来代替。把第一题中程序稍作改动,与本题结合起来,LRU页面调度模拟算法如图3。(4)按第一题中提示(4)的要求,建立一张初始页表,页表中为每一页增加“修改标志”位(参考第二题中提示(4))。然后按依次执行的指令序列,运行设计的程序,显示或打印每次调出和装入的页号,以及执行了最后一条指令后数组中的值。(5)为了检查程序的正确性,可再任意确定一组指令序列,运行设计的程序,核对执行的结果。

图3 LRU页面调度模拟算法四 打印的源程序及附上的注释 略五 打印的程序运行时初值和运行结果 略样本

2一、实习内容模拟电梯调度算法,实现对磁盘的驱动调度。

二、实习目的磁盘是一种高速、大容量、旋转型、可直接存取的存储设备。它作为计算机系统的辅助存储器,担负着繁重的输入输出任务,在多道程序设计系统中,往往同时会有若干个要求访问磁盘的输入输出请求等待处理。系统可采用一种策略,尽可能按最佳次序执行要求访问磁盘的诸输入输出请求,这就叫驱动调度,使用的算法称驱动调度算法。驱动调度能降低为若干个输入输出请求服务所需的总时间,从而提高系统效率。本实习模拟设计一个驱动调度程序,观察驱动调度程序的动态运行过程。

三、实习题目模拟电梯调度算法,对磁盘进行移臂调度和旋转调度。[设计思路、数据结构、流程图]:(1)磁盘是可供多个进程共享的存储设备,但一个磁盘每个时刻只能为一个进程服务。当有进程在访问某个磁盘时,其它想访问该磁盘的进程必须等待,直到磁盘一次工作结束。当有多个进程提出输入输出请求而处于等待状态时,可用电梯调度算法从若干个等待访问者中选择一个进程,让它访问磁盘。选择访问者的工作由“驱动调度”进程来完成。由于磁盘与处理器是可以并行工作的,所以当磁盘在为一个进程服务时,占有处理器的另一进程可以提出使用磁盘的要求,也就是说,系统能动态地接收新的输入输出请求。为了模拟这种情况,在本实习中设置一个“接收请求”进程。“驱动调度”进程和“接收请求”进程能否占有处理器运行,取决于磁盘的结束中断信号和处理器调度策略。在实习中可用随机数来模拟确定这两个进程的运行顺序,以代替中断处理和处理器调度选择进程的过程。因而,程序的结构可参考图1。

图1 程序结构(2)“接收请求”进程建立一张“请求I/O”表,指出等待访问磁盘的进程要求访问的物理地址,表的格式为:进程名柱面号磁道号物理记录号MMMMMMMM假定某个磁盘组共有200个柱面,由外向里顺序编号(0-199),每个柱面上有20个磁道,编号为0-19,每个磁道分成8个物理记录,编号0-7。进程访问磁盘的物理地址可以用键盘输入的方法模拟得到。图2是“接收请求”进程的模拟算法。

图2 “接收请求”模拟算法在实际的系统中必须把等待访问磁盘的进程排入等待队列,由于本实习模拟驱动调度,为简单起见,在实习中可免去队列管理部分,故设计程序时可不考虑“进程排入等待队列”的工作。(3)“驱动调度”进程的功能是查“请求I/O”表,当有等待访问磁盘的进程时,按电梯调度算法从中选择一个等待访问者,按该进程指定的磁盘物理地址启动磁盘为其服务。对移动臂磁盘来说,驱动调度分移臂调度和旋转调度。电梯调度算法的调度策略是与移动臂的移动方向和移动臂的当前位置有关的,所以每次启动磁盘时都应登记移臂方向和当前位置。电梯调度算法是一种简单而实际上用的驱动调度算法,这种调度策略总是优先选择与当前柱面号相同的访问请求,从这些请求中再选择一个能使旋转距离最短的等待访问者。如果没有与当前柱面号相同的访问请求,则根据移臂方向来选择,每次总是沿臂移动方向选择一个与当前柱面号最近的访问请求,若沿这个方向没有访问请求时,就改变臂的移动方向。这种调度策略能使移动臂的移动频率极小化,从而提高系统效率。用电梯调度算法实现驱动调度的模拟算法如图3。(4)图1中的初始化工作包括,初始化“请求I/O”表,置当前移臂方向为里移;置当前位置为0号柱面,0号物理记录。程序运行前可假定“请求I/O”表中已经有若干个进程等待访问磁盘。

操作系统实习报告 篇2

1 德尔格—Evita 2 Dura, Evita 4以及Evita XL重症监护呼吸机:要在操作或待机模式下对电池进行充电

德尔格Evita 2 Dura, Evita 4以及Evita XL呼吸机应该经常连接到电源线并开机 (待机模式即可) 以便对内外部电池充电, 以及保持额定电池操作时间。如果电池不按照这种方式进行经常性充电 (例如:呼吸机在存放时接上了电源但没有开机) , 电池总容量和状况都会降低, 可能使得操作时间更短。ECRI研究院注意到两个案例, Evita呼吸机在电池供电状况下给患者通风时发出低电量警报并停止工作, 而这比预计操作时间要短得多。两个案例中, 操作人员都没有注意进行前述的常规充电。为了避免降低电池容量和寿命, 用户需在呼吸机连接上插座并开机的情况下经常对电池进行充电。同时, 用户应该执行Evita使用说明上列出的德尔格公司电池维护指导 (危害报告—医疗设备警戒数据库登录号:H0169) 。

2 Parks Medical公司将重新设计其血管检查系统的压脉带管路连接器以避免错误连接

数控类专业学生实习操作规范 篇3

1.开机准备

(1)检查安全罩是否完整,润滑油是否在红线上。

(2)检查机床刀架上刀具与机床夹具或工件是否有碰撞和干涉。

(3)检查主轴卡盘上卡爪螺丝是否锁紧。

2.开机步骤

(1)打开电源开关。

(2)将机床侧面的主电源开关打到“ON”位置,打开主电源。

(3)将NC操作面板右侧的“ON”位置的控制器电源开关压下,打开NC电源。

(4)释放急停按钮。

3.关机步骤

(1)把刀架移动到安全位置上。

(2)按下紧急停止按钮。

(3)将NC操作面板右侧的“OFF”位置的控制器电源开关压下,关闭NC电源。

(4)将机床侧面的主电源开关打到“OFF”的位置。

数控铣床操作规程

(1)开机前检查安全罩是否完整,润滑油是否在红线上,检查主轴卡盘上卡爪螺丝是否锁紧。

(2)操作者必须仔细阅读机床操作说明之后,或在指导老师的指导下才可操作机床。

(3)运行机器前要注意回零点。

(4)开机后应预热30分钟以上才可加工零件。

(5)开关机时,先将刀具移到安全位置,然后关闭机床上的电源开关,最后关闭墙上的电源。

JDHMS精雕机使用操作规程

(1)在每次加工前,要养成仔细检查加工工序的习惯,最好是在计算机上进行仿真加工,以此减少因刀具考虑不周而造成加工失误。

(2)精雕机的主轴电机有15秒的起停时间,在实际使用中一定要等到电机旋转平稳或停稳后才能进行后续的操作,否则可能损坏刀具。

(3)在加工过程中应养成用手感觉一下主轴电机温度的习惯,如果温度过高(超过28℃)应马上检查冷却水是否通畅。

(4)切割有机玻璃刀具深度不能超过4mm,三维有机字的清角加工刀具,直径不能超过6mm,精加工应使用成型刀具。

(5)雕刻过程中,严禁过近观察切削表面以防切屑飞入眼睛,观察时要暂停雕刻,关闭主轴电机。雕刻过程中严禁用手摸切削表面,禁止使用棉丝擦拭工作表面。

(6)精雕机对环境的湿度要求为:相对湿度60%,应避免在潮湿中使用精雕机。

(7)每天要对机床进行保养。

电火花数控线切割操作规程

1.开机准备

(1)机床附近无震源和化学腐蚀性气体。

(2)检查电解液是否足够。

(3)将气泵打开,确保机体气压读数为6~7bar。

(4)清理废丝箱。

2.开机步骤

(1)接通总电源,打开稳压电源。

(2)打开控制框上的总开关。

(3)按下启动按钮。

(4)将空气机打开,并设置为20士1℃。

3.关机步骤

(1)按下关闭按钮。

(2)关闭控制框。

加工中心操作规程

1.开机准备

(1)检查润滑油油面和冷却液油箱液面,保证油量充足。

(2)检查系统气源压力,保证操作压力7~8bar。

2.开机步骤

(1)接通电源,打开控制柜上的总开关,释放急停开关。

(2)用手轮移动X、Y、Z轴到零位,输入“CS”使机床自动归零。

3.关机步骤

按下急停开关,关闭控制柜上的总开关,关闭电源。

4.注意事项

(1)关机后必须等待数秒钟后方可再次开机。

(2)开机后应预热30分钟以上才可加工零件。

(3)CNC铣床的主轴为精密组件,必须时常保持其清洁,刀具装上机床前必须把刀柄擦试干净。

(4)每日检查油箱液面,适时补充。

(5)清洁刀库50h一次。

(6)每日清洁工作台面拖板,清洁铁屑,疏通泻水孔。

(7)每日清除机床铁屑。

(8)为保持机床整洁、美观,每周清洁一次机床。

(9)必须遵守相应工种的劳动保护条例。

操作系统实习报告 篇4

实验五 安装操作系统

实验目的1.掌握Windows 98操作系统的安装方法

2.掌握Windows 2000 Professional/Windows XP操作系统的安装方法。

实验内容

学习安装Windows 98/2000 Professional/Windows XP

实验步骤

1.安装操作系统前的准备

(1)主要是对 CMOS参数进行必要的设置,禁止反病毒程序、电源管理程序等,以使操作系统的安装能够顺利完成。

启动计算机,按键进入 CMOS参数设置,将“BIOS FEATURES SETUP”中的“Virus Warning”项设为“Disabled”;再将“POWER MANAGEMENT SETUP”中的“Power Management”项设为“ Disabled”。

(2)设置由CD-ROM来启动系统

把系统启动顺序设为:“CD-ROM、C、A”,由CD-ROM启动。保存并退出CMOS设置

2.安装Windows 98操作系统(1)把一张带启动程序的Windows 98光盘放入光驱中,重启系统进入DOS状态,转到光盘驱动器(例如为H:)为当前驱动器: A:H:↙(2)用DIR命令查找Windows 98的Setup.exe安装文件,运行

2.安装Windows 98操作系统

(1)把一张带启动程序的Windows 98光盘放入光驱中,重启系统进入DOS状态,转到光盘驱动器(例如为H:)为当前驱动器:

A:>H:↙

(2)用DIR命令查找Windows 98的Setup.exe安装文件,运行安装文件:H:Setup↙

(3)系统对硬盘中分区进行扫描,检查分区是否有错误

(4)如果检查没有错误,扫描检查没有错误界面

(5)选择“Exit”命令后,按键,出现安装Windows 98的界面

(6)单击“继续”按钮,系统将进行其他安装组件及C盘空间的检查,如果无误而且空间足够的话,系统就开始安装Windows 98。

(7)单击“下一步”按钮,约过十多分钟,系统就会自动启动系统

(8)系统启动后Windows 98仍继续自动安装,过几分钟后,计算机会询问要输入Windows 98的CD-KEY(Windows 98序列号)。

(9)输入序列号后,Windows 98继续安装,然后出现一个对话框,要求输入计算机名、工作组、计算机说明。单击“下一步”按钮,计算机继续按安装,过几分钟后,Windows 98就安装好了。

(10)恢复 CMOS参数设置中被关闭的功能、并将C盘设置为启动盘。

至此,Windows 98操作系统的安装全部结束,系统完全可以投入使用。

3.Windows 2000 Professional/Windows XP操作系统

(1)卸去Windows 98操作系统

(2)按上述方法,安装Windows 2000Professional/Windows XP操作系统

实验小结:

操作系统实验报告 篇5

一、实验目的

1.理解进程的概念,掌握父、子进程创建的方法。

2.认识和了解并发执行的实质,掌握进程的并发及同步操作。

二、实验内容

1.编写一C语言程序,实现在程序运行时通过系统调用fork()创建两个子进程,使父、子三进程并发执行,父亲进程执行时屏幕显示“I am father”,儿子进程执行时屏幕显示“I am son”,女儿进程执行时屏幕显示“I am daughter”。

2.多次连续反复运行这个程序,观察屏幕显示结果的顺序,直至出现不一样的情况为止。记下这种情况,试简单分析其原因。

3.修改程序,在父、子进程中分别使用wait()、exit()等系统调用“实现”其同步推进,并获取子进程的ID号及结束状态值。多次反复运行改进后的程序,观察并记录运行结果。

三、源程序及运行结果

源程序1:

#include #include #include int main(int argc, char ** argv){ int pid=fork();if(pid < 0)

printf(“error!”);

else if(pid == 0)

{

printf(“I am son!n”);

}

else

{

int pid=fork();

if(pid < 0)

printf(“error!”);

else if(pid == 0)

{

printf(“I am daughter!n“);

}

else

printf(”I am father!n“);

} sleep(1);return 0;}

运行结果:

源程序2:

#include #include #include int main(int argc, char ** argv){ char *message;int n;

int pid=fork();if(pid < 0)

printf(”error!“);

else if(pid == 0)

{

message=”I am daughter!“;

pid=getpid();

n=3;

}

else

{

int pid=fork();

if(pid < 0)

printf(”error!“);

else if(pid == 0)

{

message=”I am son!“;

pid=getpid();

n=3;

}

else

message=”I am father!";

n=3;

}

for(;n>0;n--){ puts(message);sleep(1);}

return 0;}

运行结果:

四、实验分析与总结

1.实验内容1运行结果为什么无固定顺序,fork()函数创建进程是如何并发执行的。

答:因为进程是并发执行的,fork()函数创建的三个进程抢占

cpu不同,从而导致三个程序被cpu 调度顺序不同,所以实验一结果无固定顺序。Fork()函数调用成功后,子进程与父进程并发执行的代码相同,但由于子进程也继承父进程的程序指针,所以子进程是从fork()后执行的,另外fork在子进程和父进程中返回值是不同的。在父进程中返回子进程的pid,而在子进程中返回0,使父进程和子进程执行不同的分支。

2.实验内容3是如何实现父子进程的同步执行的。

答:wait()会暂时停止目前进程的执行,直到有信号来到或子进程结束。程序段主要使用了函数wait()和,exit()这是因为父进程必须等待两个子进程终止后才终。在父进程中调用wait()函数,则父进程被阻塞,进入等待队列,等待子进程结束。子进程终止时执行exit()向父进程发终止信号,当接到信号后,父进提取子进程的结束状态值,从wait()返回继续执行原程序,从而实现了父、子进程的同步推进。

linux系统实习报告 篇6

Linux系统操作实习报告

院(系):计算机学院 专

业:计算机科学与技术 班

级:04010101 学

号:2010040101015 姓

名:刘航源 指导教师:李晓明 完成日期:2013年7月9日

7月5日实习内容

今天在李老师的带领下,我们初步了解了关于Linux系统的产生背景,及其与Windows系统一些不同。我还了解到,Linux系统是开源的操作系统。做完简单介绍后,我们便开始学习了Linux系统里的一些基本的终端命令,下面将这些命令做一些简单的罗列。

1.系统关闭命令及用法:shutdown 命令格式:shutdown [选项] [时间] [警告信息] 命令中各选项的含义为: r 关机后立即重新启动

-h 关机后不重新启动

n 快速关机不经过init 程序回上一次所在的目录 cd ~ 或 cd 回当前用户的宿主目录 cd ~用户名 回指定用户的宿主目录 cd zkl 切换到当前目录下的zkl子目录 6.创建一个目录mkdir 格式:mkdir [选项] 目录名 例如:mkdir zk 选项 –m 设定权限

m模式:在建立目录时把按模式指定设置目录权限。该目录的权限分为:目录所有者的权限、组中其他人对目录的权限和系统中其他人对目录的权限。这三个权限分别用三个数字之和来表示:对目录的读权限是

4、写权限是

2、执行权限是1 7.删除目录rmdir 格式:rmdir 目录名

一般情况下要删除的目录必须为空目录,如果所给的目录不为空,系统会报告错误。

8.作用设定文件或目录权限chmod 格式:chmod [选项] 文件和目录列表

说明:只有文件和目录的所有者才有权限修改其权限,超级用户可对所有文件或目录进行权限设置 字符串表示:rwxrw-rw-三种不同的访问权限:w 写访问权限,r 读访问权限,x 执行权限 u(文件拥有者)g(所属用户组)o(其他用户)权限 9.复制命令cp 格式:cp [选项] 源文件或目录 目标文件或目录 选项:

-f 覆盖已经存在的目标文件而不提示-i覆盖已经存在的目标文件要求用户确认

-r若给出的源文件是一个目录,递归复制该目录下所有子目录和文件,目标文件必须是目录 10.移动文件或目录mv 作用:

格式:mv [选项] 源文件或目录 目标文件或目录 选项:

-f 覆盖已经存在的目标文件而不提示-i覆盖已经存在的目标文件要求用户确认 11.删除文件或目录命令rm 格式: rm [选项] 源文件或目录 目标文件或目录 选项:

-f 覆盖已经存在的目标文件而不提示-i覆盖已经存在的目标文件要求用户确认 12.在指定目录中搜索文件 find 格式:find [路径] [选项] [文件] 选项:-name 支持通配符*和? 13.连接命令 cat 作用:并显示一个和多个文件的内容 格式:cat [选项] 文件1 文件2 14.useradd 命令: 作用:创建一个新的用户 格式:useradd [选项] 用户名 15.passwd 命令 作用:为用户创建密码 格式:passwd [选项] 用户名

passwd-d用户名 删除用户密码也能登陆

passwd-S用户名 查询账号密码 16.who命令 作用:显示登录用户 17.su命令 作用:变更用户帐号 18.压缩解压命令gzip 作用:对文件进行压缩和解压缩 格式:gzip [选项] [文件名] 遇到的问题和解决方法

1.gzip压缩命令是压缩文件的命令,但是现在还不会新建文件。解决方法:

问过老师后,知道用Vi编辑器可以新建并编辑一个文件。所以我先用Vi命令新建了一个chengyi.c文件,这样的话,就可以试着执行gzip命令了。

7月6日实习内容

今天主要学习的是Vi编辑器、GCC编译器和GDB调试工具的使用。首先Vi编辑器有三个主要的状态:vi分为三种状态,分别是命令模式、插入模式和底行模式,各模式的功能区分如下: 1.命令行模式

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入插入模式,或者到底行模式。2.插入模式

只有在插入模式下,才可以做文字输入,按「ESC」键可回到命令行模式。3 底行模式

将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号„„等。Vi的使用方法介绍:

1.在「命令行模式」下按一下字母「i」就可以进入「插入模式」,这时候你就可

以开始输入文字了。

2.在「命令行模式(command mode)」下,按一下「:」冒号键进入「底行模式」,输入 q:表示不存盘强制退出vi 输入 w filename: 表示将文章以指定的文件名filename保存)输入 wq :表示存盘并退出vi。

输入 set nu:在文件中的每一行前面列出行号。输入 #:再按回车键就会跳到该行了 输入 /关键字:查找字符 对于GCC编译器,它是一个全功能的 ANSI C 兼容编译器.gcc 命令的基本用法如下: gcc [options] [filenames] options选项的用法如下:

-c参数,只编译生成一个目标文件“.o”-o 编译选项、生成可执行文件-g打开程序的调试选项 至于GDB调试工具,它可以用来调试C和C++程序,它的主要功能:1.监视程序中变量的值;2.在程序中设置断点;3.程序的单步执行。

下面来简单罗列一些gdb命令的缩略表示如下: 1.(gdb)l 2.(gdb)b 6 3.(gdb)r 4.(gdb)p j 5.(gdb)c 6.(gdb)n 7.(gdb)s

查看载入文件,l代表list 在第6行设置断点 运行程序 查看变量j的值

查看变量后,恢复程序继续运行 单步允许(不进入函数内部)单步允许(进入函数内部)

8.(gdb)delete 1 删除断点1 遇到的问题和解决方法

1.实验室电脑上的字符界面和图形化界面之间无法切换。

解决方法: 这是因为VWware和Windows之间切换的热键与Linux系统里的字符界面和图形化界面切换键Ctrl+Alt重合了。通过改变VMware的菜单中的VM->preference->Hotkeys就可以了。

7月7日实习内容

今天主要学习的是Linux进程与线程编程。Linux系统是多任务操作系统,支持多进程,进程是程序的一次执行,进程在生存周期呈现各种状态及状态转换。

进程基本系统操作有: 1.getpid()作用:进程用来取得自己的PID编号 2.getppid()作用:取得该进程的父进程(parent)PID编号。3.fork()系统调用

作用:创建一个子进程

调用形式:pid_t fork(void)4.exec系统调用

作用:以新进程替代原有进程,但PID保持不变

execl: 加上l表示要利用C的var args机制来传递程序参数.execl()函数格式: int execl(const char *path, const char *arg,...);execv:表示利用数组来传递程序参数.execp:在环境变量PATH所指定的路径里查找外部程序.若没有加上p,则必须指定完整路径.5.exit()系统调用

作用:终止发出调用的进程 形式:void exit(int status);函数中的参数status是返给父进程的状态值,取值范围:0-255 为了提高计算机的并行性,引入的线程。线程是系统调度的独立单位,但它不是系统资源分配的基本单位。Linux系统下的多线程遵循POSIX线程接口,称

为pthread。编写Linux下的多线程程序,需要使用头文件pthread.h。

线程基本系统操作有: pthread_create函数

形式:int pthread_create((pthread_t *thread, pthread_attr_t *attr,void *(*start_routine)(void *), void *arg));

第一个参数*thread是一个pthread_t结构的指针,该结构用于保存线程的信息,函数创建成功时,将线程的标识符等信息写入*thread指针所指向的内存空间

第二个参数用来设置新线程属性,设为NULL时表示不改变线程的默认属性。第三个参数表示需要传递的是start_routine()函数的地址。start_routine()函数的作用是启动线程。

第四个参数是start_routine()函数的参数。2.pthread_exit()函数

作用:结束调用这个函数的线程

形式:void pthread_exit(void *retval);3.pthread_join函数 作用:等待线程结束

形式:int pthread_join(pthread_t th, void **thread_return);遇到的问题和解决方法

1.不知道怎样合适地设置execvp 的参数才能调用自己写的函数。解决方法: 通过老师讲解,我们知道了如果execvp函数的参数是内嵌函数的函数名的话,就可以直接写函数名,例如:

char *arg_list[] = { “ls”, “-l”, “/home”, NULL };execvp(“ls”,arg_list);但是我想将自己写的函数设置为execvp函数的参数,试过很多次之后还是失败了。通过老师的讲解我理解知道了,按照我的要求的话,execvp函数的第一个参数应该是我的程序的完全路径名。经过修改后,果然能实现自己想要

色功能。

7月8日实习内容

今天主要学习了DNS服务器配置与管理和Web服务器的安装与配置。域名系统(Domain Name System, DNS),是一种分布式的、层次型的、客户机 /服务器模式的数据库管理系统。DNS服务器功能主要有两个:

(1)将域名转换成IP 地址(俗称正向解析);

(2)将IP 地址转换成计算机的域名(俗称逆向解析)。域名系统的结构

其结构类似于一棵倒置的树,由最顶端的根一层一层往下延伸。这样所组成的结构,即称为域的名称空间。

DNS域名解析的工作原理:

(1)DNS客户机提出域名解析请求,并将该请求发送给本地的域名服务器。(2)当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该记录项,则本地的域名服务器就直接把查询的结果返回。

(3)如果本地的缓存中没有该记录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域)的主域名服务器的地址。

4)本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该记录,则返回相关的下级的域名服务器的地址。

(5)重复第4步,直到找到正确的记录。

(6)本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。

访问www原理:

1.上网用户在IE中输入网址(URL)回车; 2.本地DNS服务器把URL中的主机解析成IP; 3.根域名服务器根据IP向WWW服务器提出请求; 4.WWW服务器响应请求,返回内容。

7月9日上机考核内容

在实验室学习了4天,终于要考核了。今天的考核的要求是:在root目录下创建一个以自己学号为名字的子目录,并在这个子目录下创建两个子目录并分别命名为st1、st2;最后在st1目录下编写一个程序,这个程序从“求N!”和“在子进程中显示2013年7月的月历”两个题目中选一个。

从表面上看,这考察了我们学的改变工作目录命令cd,创建一个目录命令mkdir,以及Vi编辑器,GCC编译器的综合运用。

但是在最后检查结果的时候,老师还当场考察了我们对作用设定文件或目录权限chmod命令,列出目录内容命令ls等命令以及GDB调试器的综合运用。

心得体会

时间如涓涓流水缓缓地流过,一周的实习生活弹指一挥间已经划上句号。在这一个星期的时间里留下了许多美好的回忆,让我们细细品味。在817的一个星期的实习生活,让我过得很充实,很快乐。老师们都十分热心,并将他们的一些教学经验传授给我们,我们所遇到的难题,他都很耐心的讲解;老师们都很热情负责,学习上给予指导,我们的成长与进步离不开老师们的帮助,在此特别要感谢老师们,祝愿老师能够工作顺利,事事如意。

虽然只有短短1周的实习时间,但是我在这段时间中有巨大的收获。首先,在工作、学习中要有良好的学习能力,要有一套学习知识的系统,遇到问题自己能通过相关途径自行解决能力。扎实的专业知识是你提高工作水平的坚实基础。在学校学习专业知识时,可能感觉枯燥无味,但当你工作以后,你才会发现专业知识是多么的重要。因为在工作、学习中遇到问题各种各样,并不是每一种情况都能把握,在这个时候要想把工作、学习做好一定要有良好的学习能力,通过不断的学习从而掌握相应技术,来解决工作中遇到的每一个问题。这样的学习能力,一方面来自向老师们的学习,向工作经验丰富的人学习。另一方面就是自学的能力,在没有他人帮助的情况下自己也能通过努力,寻找相关途径来解决问题。另外在实习之中自己也有很多不足的地方。例如:粗心大意,在实习过程中总是犯一些低级的错误。还有时候不懂得灵活运用某些命令和灵活配置Linux服务器。

所以我常提醒自己一定不要怕苦怕累,一定不要粗心大意,在掌握扎实知识的同时加强实践,做到理论联系实际、灵活运用。另一方面要不断的加强学习,学习新知识、新技术更好的为他人服务,为自己服务。实习是每一个大学毕业生必须拥有的一段经历,它使我们在实践中了解社会,让我们学到了很多在课堂上根本就学不到的知识,也打开了视野,增长了见识,为我们以后更好地服务社会打下了坚实的基础。这次实习生活,对我而言有着十分重要的意义。它不仅使我在理论上对Linux这个领域有了全新的认识,而且在实践能力上也得到了提高,真正地做到了学以致用。在一次次理论与实践相结合的过程中,在老师们悉心指导下,我不但对Linux有了系统的理解,从无数次的失败中吸取了宝贵的经验教训,而且随着时间的推移,自己的意志也得到了磨练,恐惧心理也逐渐地消失了。我时刻提醒自己,唯有不断努力,才能与时俱进。总之,这次实习的意义。感谢老师和同学在这段时间里对我的指导和帮助,我从中受益非浅。通过这次Linux服务器配置与管理的实习,一方面巩固了自己所学知识,提高了自己处理实际问题的能力;另一方面,它是我们从学校走向社会的一个过渡,它为我们顺利的走出校园,走向社会为国家、为人民更好服务做好了准备。

浅谈“三到位”实习操作指导法 篇7

关键词:职业教育,实习指导,教学质量

实习教学是教师有计划、有目的、有组织且采用一定的教学方法和手段, 通过创造性的劳动, 将教材设备器材等有机地结合起来, 对学习者施加影响的活动。在实习教学的实践中笔者发现, 现在中职教师的“主导”作用还没有真正发挥出来, 且教师从不讲究“导”法, 学生从不讲究“练”法的现象普遍存在, 从而导致教学质量难以提高。

“三到位”实习操作指导法, 就是在学生这一“主体”积极参与的前提下, 注重发挥教师的主导作用, 使实习教学的整个过程始终在教师的指导控制下进行, 达到提高学生的技能, 培养学生革新意识和创新能力的教学过程。这一过程可概括为三句话:即入门指导, 演示到位;巡回指导, 点拨到位;结束指导, 讲评到位。

一、入门指导, 演示到位

在实习教学过程中, 入门指导最重要的是示范演示操作。示范演示操作是生产实习教学中极为重要的教学方法, 它可以使学生直观、具体、形象、生动地进行学习, 能帮助学生建立正确动作的概念, 是形成操作技能表象的重要手段。演示到位是提高实习质量, 使学生形成正确技能的关键, 是培养学生技术素质和创新能力的基础和前提。演示到位要做到以下几点:

首先, 教师的示范动作要到位。在讲解动作的名称和作用时, 要让学生建立起正确的动作技术概念, 教师并加以示范。在示范过程中, 要做到讲做一致, 准确无误, 规范条理。如化工管阀的分解拆装, 化工仪表的安装、校对等, 教师要把各个分解动作动作较慢地反复演示一至两遍, 以强化学生对动作要领的认识和掌握。

其次, 教师的演示方法要到位。在实习教学中教师必须按操作步骤, 有条不紊地慢慢地演示给学生, 使其不仅掌握动作要领, 还要掌握操作程序和操作方法, 以期达到形成熟练技能之目的。

最后, 教师演示后分析要到位。在教师演示过程中, 由于边讲解边演示。这就需要教师顺水推舟, 将计就计, 把出现问题的原因分析透彻, 正确的予以肯定, 错误的予以说明, 以防误导学生。如在对化工管阀和仪表的拆装过程当中, 为了避免相同组件不同功用的位置和顺序倒置导致安装过程不顺利, 我们可以在拆卸的过程当中按照拆卸顺序一一给标记, 对于重要的仪表和组件我们要随时落笔登记它们的拆装顺序, 以便达到正确顺利的安全拆装过程和试运行过程。

二、巡回指导, 点拨到位

在学生实习操作过程中, 教师要看其操作动作是否规范, 操作方法是否科学, 操作程序是否合理, 发现问题及时纠正。只有在动作规范方法科学程序合理的前提下, 才能保证科学地创新。为此, 教师必须做到以下几点:脚勤、眼勤、脑勤、口勤、手勤。

当学生在各自的工位上操作训练时, 教师要做到及时走动, 发现问题及时解决。需要教师不停地巡回指导。要防止那种学生上工位, 教师上座位的现象发生。这是实习教师之大忌。要防止那种虽在巡回, 却视而不见或索性不视之举。还要避免那种部分指导, 部分无睹的现象出现, 这是违背实习教学原则的。

作为一名指导教师必须作到循循善诱, 晓之以理, 导之以行。发现学生操作中出现的问题, 就要苦口婆心地讲清道理, 并附之以动作示范。尤其对差生更要不厌其烦地讲解演示, 再讲解再演示, 手把手地教, 直到学会为止。当学生操作出现错误时, 让学生不仅知其然, 而且要知其所以然, 这时的点拨才真正是开启学生创新思维的钥匙。只有这样坚持锻炼, 学生的技术素质才能真正得以提高, 创新思维能力才能真正得以培养。

三、结束指导, 讲评到位

任何一项工作都要善始善终, 而且始有序终有果。实习课教学也是如此。因而, 结束指导是实习教学的必要补充和完善, 进一步地说这是对实习教学劳动成果的评判, 也是以人为本的教育思想的重要体现, 其主要任务是检查实习目标的落实情况, 分析学生操作技能的形成过程及存在问题的原因。总结成绩, 发扬光大;找出不足, 提出要求;鼓励鞭策, 以厉再战。

实习目标是否达到, 要依据本课题的质量要求和技能标准来衡量。具体地说, 必须了解和掌握每个学生的技能操作水平, 并实际观察和记录每个学生的操作成绩及不足, 真正做到了如指掌, 胸有成竹。

在结束指导这一环节中, 教师必须引起高度重视, 讲评要讲到点子上, 讲到实质上, 讲到关键上。讲到点子上就是要从技巧上给学生以明确的提示。如化工仪表安装使用时的清洁度问题。讲到实质上就是在实习操作过程中, 技术动作是否符合原理, 必须明确指出。讲到关键上就是在讲评时要抓住学生的心理特点, 以表扬为主批评为辅。善于发现每个学生的闪光点, 善于捕捉学生创新意识的信息, 有进步的给予褒奖, 达到目标时给予大力表扬, 未达到目标的给予鼓励, 让学生感到成功的喜悦, 看到成功的曙光。因为成功能给人激励, 令人欢欣, 催人奋进。这正是萌发创新意识、培养创新思维的重要途径。

综上所述, 实习教学的质量是职业技术学校的生命线, 实习操作指导则是提高实习教学质量的关键所在, 具有不可调和性。只有坚持以人为本的教育思想, 坚持“三到位”实习操作创新型教法, 并坚持过关性考核, 才能真正提高实习教学质量, 才能为经济和社会发展培养又多又好的创新型人才。

参考文献

[1]刘平兴.中职生顶岗实习与就业指导.北京工业大学出版社, 2010

操作系统实习报告 篇8

2012年英国大学进行了学费改革,每年的学费涨至最高9000英镑,学生贷款数额也随之增多。按照新政,贷款学生毕业后,年收入达到2.1万英镑才开始还贷,30年后未偿还债务将会被核销。这份报告提出,预计30年后学生贷款总额将达到3300亿英镑,由于政府对偿贷缺乏有效控制,贷款坏账率将持续上升,即政府要为每一英镑学生贷款负担45便士的损失,这将使得政府面临巨大的财政压力。由于英国学生贷款系统与政府财政及纳税人的钱包直接相关,在过去几年间不时有相关统计数据或报道见诸媒体,显示这一系统的漏洞和几近崩溃的现状。

在报告中,依据英国政府1988年公布的教育白皮书《向学生提供贷款》以及《1990年教育(学生贷款)法》,由政府牵头成立的学生贷款管理公司(Student Loan Company)受到诟病,议员们对其“讨债”程序是否能最大程度收回贷款,以维护政府财政和纳税人的权益提出了诸多质疑。此前政府通过出售学生贷款债务以筹措经费的行为招致广泛批评,后续出售计划在公众质疑声中被放弃。

现在越来越多的英国大学毕业生到国外寻找就业机会,但是利用出国来逃避偿还学生贷款可能招致严重的后果。学生贷款管理公司表示,如果学生利用出国来逃避偿还债务的话,可能会被罚款,甚至被告上法庭。许多大学生错误地认为毕业后离开英国就不用再偿还学生贷款,其实学生贷款的合约中明确规定了出国后的偿还方式,在一些情况下出国后的还款金额可能更高。

操作系统课程设计报告 篇9

学院:计算机科学与技术学院

班级:计112

学号:1113022032

姓名:

一、实验名称:

用C++实现驱动调度算法、页面替换算法、银行家算法、处理器调度算法

二、实验要求:

书写实验报告,包括的内容有:

(1)实验题目

(2)程序中使用的数据结构及主要文字说明

(3)带有注释的源程序

(4)执行程序说明,表明各进程控制快的初始状态,以及各算法的运行状态

(5)通过实验后的收获与体会及对实验的改进意见和见解

二、实验目的:

通过自己编程来实现各类操作系统算法,进一步理解操作系统的概念及含义,提高对操作系统的认识,同时提高自己的动手实践能力。加强我们对各类算法的理解。

三、实验内容:

1、实现页面替换算法

(1)FIFO 先进先出页面替换算法

(2)LRU最近最少使用页面替换算法

(3)LFU最少使用频率页面替换算法

2、银行家算法

3、实现驱动调度算法

(1)先来先服务算法

(2)电梯算法

(3)扫描算法

4、实现处理器调度

(1)先进先出处理器调度

(2)时间片轮转法

(3)优先级调度

四、实验原理:

1、页面替换算法

先进先出页面置换算法:该算法总是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面加以淘汰。将已调入内存的页面按先后次序链接成一个队列,将最先调入的页面与新页面进行置换

最近最久未使用置换算法:该算法是利用“最近的过去”作为“最近的将来”,将最近最久未使用的页面加以淘汰。将已调入内存的页面按先后顺序链接成一个队列,为每一个页面增加一个访问字段,用来记录一个页面自上次被访问以来所经历的是时间t,当需淘汰一个页面时,选择现有页面中其t值最大,即最近最久未使用的页面加以淘汰

2、银行家算法

先对用户提出的请求进行合法性检查,即检查请求的是不大于需要的,是否不大于可利用的。若请求合法,则进行试分配。最后对试分配后的状态调用安全性检查算法进行安全性检查。若安全,则分配,否则,不分配,恢复原来状态,拒绝申请。

3、驱动调度算法

先进先出算法(FIFO):总是严格按时间顺序对磁盘请求予以处理。算法实现简单、易于理解并且相对公平,不会发生进程饿死现象。但该算法可能会移动的柱面数较多并且会

经常更换移动方向,效率有待提高

电梯调度算法:总是将一个方向上的请求全部处理完后,才改变方向继续处理其他请求。

扫描算法(scan algorithm):总是从最外向最内(或最内向最外)进行扫描,然后在从最内向最外(或最外向最内)扫描。该算法与电梯调度算法的区别是电梯调度在没有最外或最内的请求时不会移动到最外或最内柱面。

4、处理器调度算法

先进先出处理器调度:按照作业进入系统后备工作队列的先后次序来挑选作业,先进入系统的作业将优先被挑选进入主存,创建用户进程,分配所需资源,然后移入就绪队列。

时间片轮转法调度算法:调度次序每次把CPU分配给就绪队列进程/线程使用规

定的时间间隔,就绪队列中每个进程/线程轮流的运行一个时间片,当时间片耗尽时,就强迫当前运行进程/线程让出处理器,转而排列到就绪队列尾部,等候下一轮调度。

优先级调度:根据确定的优先级来选取进程/线程,总是选择就绪队列中的优先

级最高者投入运行,即优先级越高,先被调用。

五、数据结构设计

对操作系统的各类算法设计数据结构如下:

页面替换算法:void FIFO();void LRU();void LFU();

银行家算法:void Init()初始化算法

void Bank()银行家算法

bool Safe()安全性算法

驱动调度算法:

struct MagneticHead//磁头构成{

int site;

int count;

bool direct;

};

struct Range//磁盘磁道范围

{

int mStart;

int mEnd;

};

struct RequestList//请求序列

{

int site;

bool state;

};

struct Data//基本数据集合{

MagneticHead magneticHead;

RequestList *requestList;

int *executeList;

Range range;

int length;

};

处理器调度:

typedef struct pcb//时间片轮转法

{

char pname[N];

int runtime;

int arrivetime;

char state;

struct pcb*next;

}PCB;

typedef struct PCB1//先进先出服务

{

char ID[3];//进程号

char name[10];//进程名

char state;//运行状态

floatarrivetime;//到达时间

floatstarttime;//进程开始时间

floatfinishtime;//进程结束时间

floatservicetime;//服务时间

float turnaroundtime;//周转时间

float weightedturnaroundtime;//带权周转时间

struct PCB1 *next;//指向下个进程

}pcb1;

struct pcb2 {优先级调度

char name[10];

char state;

int super;

int ntime;

int rtime;

struct pcb2* link;

}*ready=NULL,*d;

typedef struct pcb2 PCB2;

六、课程设计总结

上一篇:学校心理拓展训练下一篇:儿童预防接种相关知识