搜档网
当前位置:搜档网 › 南京邮电大学操作系统实验报告

南京邮电大学操作系统实验报告

南京邮电大学操作系统实验报告
南京邮电大学操作系统实验报告

通信与信息工程学院

2015 / 2016学年第二学期

实验报告

课程名称:操作系统

实验名称:

1、LINUX及其使用环境

2、进程管理

3、进程间通信

4、文件的操作和使用

班级学号

专业电子信息工程

学生姓名

指导教师赵建立

实验名称试验一 LINUX及其使用环境实验类型验证

实验学时 1 实验时间2016.6.2 一、实验目的和要求

1、了解UNIX的命令及使用格式。

2、熟悉UNIX/LINUX的常用基本命令。

3、练习并掌握UNIX提供的vi编辑器来编译C程序。

4、学会利用gcc、gdb编译、调试C程序。

二、实验环境

Windows XP + VMWare + RedHat Enterprise Linux(RHEL) 4

三、实验原理及内容

1、熟悉LINUX的常用基本命令。如ls、mkdir、grep等,学会使用man、help等其它命令,掌握vi编辑器的使用。

(1)显示目录文件 ls

例:ls -al 显示当前目录下的所有文件

(2)建新目录 mkdir

例:mkdir test 新建一个test目录

(3)删除目录rmdir

(4)改变工作目录位置 cd

例:cd test 更改工作目录至test目录下

(5)显示当前所在目录pwd

(6)查看目录大小du

(7)文件属性的设置 chmod

(8)命令在线帮助 man

2、设计一个实现文件拷贝功能的shell程序。

(1)在文本编辑器里输入shell程序:

#!/bin/sh

echo “please enter source file:”

read souc

echo please enter destination file:”

read dest

cp $souc $dest

ls $dest

将程序保存在主目录下,命名为shell.

(2)打开终端,输入ls -l,显示目录下所有文件的许可权、拥有者、文件大小、修改时间及名称。输入./shell,运行shell程序。输入源文件hello.c,目标文件

B13011206.c。

(3)输入ls -l ,当前目录中包含B13011206.c目标文件。即完成从源文件拷贝至目标文件过程。

3、LINUX 下C语言程序的编译与调试实验。

(1)调试编译代码

为了使gdb正常工作,必须使程序在编译时包含调试信息。调试信息里包含程序里的每个变量的类型和在可执行文件里的地址映射以及源代码的行号。gdb利用这些信息使源代码和机器码相关联,在编译时用–g 选项打开调试选项。

(2)gdb基本命令

命令描述

file 装入欲调试的可执行文件

kill 终止正在调试的程序

list 列出产生执行文件的源代码部分

next 执行一行源代码但不进入函数内部

step 执行一行源代码并进入函数内部

run 执行当前被调试的程序

quit 终止gdb

watch 监视一个变量的值而不管它何时被改变

break 在代码里设置断点,使程序执行到这里时被挂起

make 不退出gdb就可以重新产生可执行文件

shell 不离开gdb就执行UNIX shell 命令

(3)打开终端,输入gcc hello.c,编译c程序。

(4)编译无错后,输入 ./a.out ,运行程序hello.c,显示运行结果“hello”。四、实验小结

之前没有接触过Linux操作系统,刚开始用有点不习惯。虽然用起来磕磕绊绊,通过本次实验反而受益匪浅。通过这个实验我了解了UNIX的命令及使用格式,熟悉了UNIX/LINUX的常用基本命令,同时也了解了在LINUX系统下运行C语言程序的方法,掌握了C语言程序的编译与调试方法。

实验名称试验二进程管理实验类型验证

实验学时 1 实验时间2016.6.2

一、实验目的和要求

1、掌握进程的概念,明确进程的含义

2、认识并了解并发执行的实质

二、实验环境

Windows XP + VMWare + RedHat Enterprise Linux(RHEL) 4

三、实验原理及内容

1.实验内容

使用系统调用fork( )创建两个子进程。当此程序运行时,在系统中有两个父进程和两个子进程活动。每一个进程在屏幕上显示为:父进程1显示“(1)parent pid say:A”,父进程2显示“(2)parent pid say:A”,子进程(1.1)显示(1.1)pid1 say:B,子进程(2.1)显示“(2.1)pid2 say:C”。

2、实验原理

fork( ):创建一个新进程。

系统调用格式: pid=fork( )

参数定义:int fork( )

fork( )返回值意义如下:

0:在子进程中,pid变量保存的fork( )返回值为0,表示当前进程是子进程。

>0:在父进程中,pid变量保存的fork( )返回值为子进程的id值(进程唯一标识符)。

-1:创建失败。

如果fork( )调用成功,它向父进程返回子进程的PID,并向子进程返回0,即fork( )

被调用了一次,但返回了两次。此时OS在内存中建立一个新进程,所建的新进程是调用fork( )父进程的副本,称为子进程。子进程继承了父进程的许多特性,并具有与父进程完全相同的用户级上下文。父进程与子进程并发执行。

核心为fork( )完成以下操作:

(1)为新进程分配一进程表项和进程标识符

进入fork( )后,核心检查系统是否有足够的资源来建立一个新进程。若资源不足,则fork( )系统调用失败;否则,核心为新进程分配一进程表项和唯一的进程标识符。

(2)检查同时运行的进程数目

超过预先规定的最大数目时,fork( )系统调用失败。

(3)拷贝进程表项中的数据

将父进程的当前目录和所有已打开的数据拷贝到子进程表项中,并置进程的状态为“创建”状态。

(4)子进程继承父进程的所有文件

对父进程当前目录和所有已打开的文件表项中的引用计数加1。

(5)为子进程创建进程上、下文

进程创建结束,设子进程状态为“内存中就绪”并返回子进程的标识符。

(6)子进程执行

虽然父进程与子进程程序完全相同,但每个进程都有自己的程序计数器PC,然后根据pid变量保存的fork( )返回值的不同,执行不同的分支语句。

3.实验步骤

(1)在文本编辑器输入程序:

#include

#include

int main()

{

int temp1,temp2;

int pid1,pid2;

pid1=fork();

temp1=pid1;

if (pid1>0)

{

printf(“\n(1)parent pid %d say:A”,temp1); }

else

{

printf(“\n(1.1)pid1 say:B”);

}

pid2=fork();

temp2=pid2;

if (pid2>0)

{

printf(“\n(2)parent pid %d say:A”,temp2);

}

else

{

printf(“\n(2.1)pid2 say:C”);

}

}

将程序保存在主目录下。

(2)打开终端,使用gcc编译程序,如果出错,使用vi编辑器编辑程序。编辑无错后再次编译。

(3)运行程序,输入./a.out,运行多次后得到下图结果。

四、实验小结

通过这次实验,掌握了进程的概念,明确了进程的含义,认识并了解了并发执行的实质。这次实验学会了用fork()函数创建实验,了解到进程与子进程的创建过程。另外还掌握了LINUX系统中输出流重定向的使用,将程序的输出结果输出到文件中,而不是直接显示在屏幕上。

实验名称试验三进程间通信实验类型综合

实验学时 3 实验时间2016.6.2,2016.6.9

一、实验目的和要求

1、掌握进程另外的创建方法。

2、熟悉进程的睡眠、同步、撤消等进程控制方法。

3、了解什么是管道。

4、熟悉UNIX/LINUX支持的管道通信方式。

二、实验环境

Windows XP + VMWare + RedHat Enterprise Linux(RHEL) 4

三、实验原理及内容

1.实验原理

编写程序实现进程的管道通信。用系统调用pipe( )建立一管道,二个子进程P1和P2分别向管道各写一句话:

Child 1 is sending a message!

Child 2 is sending a message!

父进程从管道中读出二个来自子进程的信息并显示(要求先接收P1,后P2)。

2.实验步骤

(1)在文本编辑器输入程序:

#include

#include

#include

int pid1,pid2;

main( )

{

int fd[2];

char outpipe[100],inpipe[100];

pipe(fd); /*创建一个管道*/

while ((pid1=fork( ))= =-1);

if(pid1= =0)

{

lockf(fd[1],1,0);

sprintf(outpipe,"child 1 process is sending message!");

/*把串放入数组outpipe中*/ write(fd[1],outpipe,50); /*向管道写长为50字节的串*/

sleep(5); /*自我阻塞5秒*/

lockf(fd[1],0,0);

exit(0);

}

else

{

while((pid2=fork( ))= =-1);

if(pid2= =0)

{ lockf(fd[1],1,0); /*互斥*/

sprintf(outpipe,"child 2 process is sending message!");

write(fd[1],outpipe,50);

sleep(5);

lockf(fd[1],0,0);

exit(0);

}

else

{ wait(0); /*同步*/

read(fd[0],inpipe,50); /*从管道中读长为50字节的串*/

printf("%s\n",inpipe);

wait(0);

read(fd[0],inpipe,50);

printf("%s\n",inpipe);

exit(0);

}

}

}

(2)在终端中,编译程序。

(3)输入./a.out执行程序

3、实验结果

实验输出结果如下

延迟5秒后显示

child 1 process is sending message!

再延迟5秒

child 2 process is sending message!

四、实验小结(包括问题和解决方法、心得体会、意见与建议等)

通过这次实验,熟悉了进程的睡眠、同步、撤消等进程控制方法,了解什么是管道,了解了UNIX/LINUX支持的管道通信方式。

实验名称实验四文件的操作和使用实验类型验证

实验学时 1 实验时间2016.6.9 一、实验目的和要求

熟悉文件系统的操作和使用方法。

二、实验环境

Windows XP + VMWare + RedHat Enterprise Linux(RHEL) 4

三、实验原理及内容

1、实验内容

设计一个程序,通过用密码字符串对文件内容进行逐字符异或操作的方法,实现对一个文件的加/解密。

2、实验步骤

(1)实验程序:

#include

int main(int argc,char *argv[])

{

FILE *fd1, *fd2, *fd3;

int n;

char jiami[4];

jiami[0]=’1’;

jiami[1]=’2’;

jiami[2]=’3’;

jiami[3]=’4’;

int k=0;

char temp;

fd1=fopen(“hello.c”,”r”); //源文件hello.c

fd2=fopen(“B13011206”,”w”); //加密后文件B13011206

while ((n=fgetc(fd1))>0)

{

n=n^jiami[k];

k++;

if (k>=4)

k=0;

fputc(n,fd2);

}

fclose(fd1);

fclose(fd2);

}

(2)打开终端,使用gcc编译,vi编译程序。生成可执行文件4。

(3)输入 ./4 hello.c aaa ,对hello.c程序加密并保存至aaa

(4)使用vi指令进入hello.c和aaa ,前者为加密前,后者为加密后程序。

3、实验结果:B13011206中的内容

_[]W]GWQ_AGPX]_\_8_]_Q_AUW_GEV_]S_[_;[]@__R]___>J8CFX\GR__[Q]^\_m\__

8AQEGAZ___>L8

四、实验小结(包括问题和解决方法、心得体会、意见与建议等)

通过本次实验,我将课本上的理论知识应用于实践,加深了对操作系统基本概念的理解。在实验过程中,查询了不少相关资料,不断的发现问题、提出问题、解决问题。在对自己所编写的源程序段的纠错的过程中,使我更好的理解了操作系统中文件系统的理论知识。

这几次操作系统的实验让我学到很多,不仅仅是加深了我对理论知识的印象,更重要的是能够将理论知识应用于实践。希望以后的专业课程都能够开设一定的实践课程,亲自实践跟书本学习真的是完全不同的两种感受。最后,感谢老师的耐心教导和实验指导,这次实验我收获了很多。

指导教师评语

成绩批阅人日期

《操作系统教程》南邮正式版——习题解答

《操作系统教程》南邮正式版 习题解答 第三章进程管理与调度习题 1、什么是多道程序设计?多道程序设计利用了系统与外围设备的并行工作能力,从而提高工作效率,具体表现在哪些方面? 答: 让多个计算问题同时装入一个计算机系统的主存储器并行执行,这种设计技术称“ 多道程序设计”,这种计算机系统称“多道程序设计系统” 或简称“多道系统”。在多道程序设计的系统中,主存储器中同时存放了多个作业的程序。为避免相互干扰,必须提供必要的手段使得在主存储器中的各道程序只能访问自己的区域。 提高工作效率,具体表现在: ?提高了处理器的利用率; ?充分利用外围设备资源:计算机系统配置多种外围设备,采用多道程序设计并行工作时,可以将使用不同设备的程序搭配在一起同时装入主存储器,使得系统中各外围设备经常处于忙碌状态,系统资源被充分利用; ?发挥了处理器与外围设备以及外围设备之间的并行工作能力; 从总体上说,采用多道程序设计技术后,可以有效地提高系统中资源的利用率,增加单位时间内的算题量,从而提高了吞吐率。 2、请描述进程的定义和属性。 答: 进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配、调度和保护的独立单位。 进程的属性有:结构性?共享性?动态性?独立性?制约性?并发性 3、请描述进程与程序的区别及关系。 答:

程序是静止的,进程是动态的。进程包括程序和程序处理的对象(数据集),进程能得到程序处理的结果。进程和程序并非一一对应的,一个程序运行在不同的数据集上就构成了不同的进程。通常把进程分为“系统进程”和“用户进程”两大类,把完成操作系统功能的进程称为系统进程,而完成用户功能的进程则称为用户进程。 4、进程有哪三种基本状态?三种进程状态如何变化? 答: 通常,根据进程执行过程中不同时刻的状态,可归纳为三种基本状态: ·等待态:等待某个事件的完成; ·就绪态:等待系统分配处理器以便运行; ·运行态:占有处理器正在运行。 进程在执行中状态会不断地改变,每个进程在任何时刻总是处于上述三种基本状态的某一种基本状态,进程状态之间转换关系: 运行态→等待态往往是由于等待外设,等待主存等资源分配或等待人工干预而引起的。等待态→就绪态则是等待的条件已满足,只需分配到处理器后就能运行。 运行态→就绪态不是由于自身原因,而是由外界原因使运行状态的进程让出处理器,这时候就变成就绪态。例如时间片用完,或有更高优先级的进程来抢占处理器等。 就绪态→运行态系统按某种策略选中就绪队列中的一个进程占用处理器,此时就变成了运行态。 5、进程控制块是什么,有何作用?通常进程控制块包含哪些信息? 答: 进程控制块(Process Control Block,简称PCB),是操作系统为进程分配的用于标志进程,记录各进程执行情况的。进程控制块是进程存在的标志,它记录了进程从创建到消亡动态变化的状况,进程队列实际也是进程控制块的链接。操作系统利用进程控制块对进程进行控制和管理。 ·标志信息含唯一的进程名 ·说明信息有进程状态、等待原因、进程程序存放位置和进程数据存放位置 ·现场信息包括通用、控制和程序状态字寄存器的内容 ·管理信息存放程序优先数和队列指针 进程控制块的作用有:

SQL语言的应用 南京邮电大学软件工程与数据库实验报告一

实验报告一 实验名称:SQL语言的应用 指导教师:茅苏 实验类型:验证 实验学时:4*2 实验时间:2012年9月28日 一、实验目的和要求 练习使用SQL SERVER数据库产品,熟练使用查询分析器和企业管理器; 掌握SQL语言中常用的语句:用DDL创建基本表;用DML插入、修改、删除数据;用QL查询数据等。 二、实验环境(实验设备) 硬件:个人计算机; 软件:MS SQL SERVER环境。 三、实验原理及内容 1.用SQL SERVER的企业管理器创建数据库 数据库名称:10001927db 操作步骤:1、单击左侧的SQL Server组 右键 新建SQL Server注册 下一步 在左侧的“可用的服务器”栏选中或输入CC-PC,点击中间 的添加,将CC-PC添加到右侧的“添加的服务器”栏 下一步 选中“登录时使用Windows身份认证”,然后点击下一步 选中“在 现有SQL Server组中添加SQL Server”,然后点击下一步 完 成 关闭。 2、单击左侧的SQL Server组下面可用的已注册子组里面的数据库→ 右键→新建数据库→输入数据库名称10001927db 2.用查询分析器在上一步创建的数据库中完成以下功能 (1)进入查询分析器并选择操作的数据库 操作步骤:1、开始→程序→MS SQL Server→查询分析器 确认SQL Server(s)为CC-PC 选择Windows身份认证 点击确定 2、在工具栏的下拉链表种选择名为10001927db的数据库。 (2)建立基本表:学生、课程和选课,写出DDL语句。 要求:需为每张表建立主键,其他完整性约束可自己添加。

计算机操作系统实验课实验报告

实验报告 实验课程: 计算机操作系统学生姓名:XXX 学号:XXXX 专业班级:软件 2014年12月25日

目录 实验一熟悉Windows XP中的进程和线程.. 3实验二进程调度 (7) 实验三死锁避免—银行家算法的实现 (18) 实验四存储管理 (24)

实验一熟悉Windows XP中的进程和线程 一、实验名称 熟悉Windows XP中的进程和线程 二、实验目的 1、熟悉Windows中任务管理器的使用。 2、通过任务管理器识别操作系统中的进程和线程的相关信息。 3、掌握利用spy++.exe来察看Windows中各个任务的更详细信息。 三、实验结果分析 1、启动操作系统自带的任务管理器: 方法:直接按组合键Ctrl+Alt+Del,或者是在点击任务条上的“开始”“运行”,并输入“taskmgr.exe”。

2、调整任务管理器的“查看”中的相关设置,显示关于进程的以下各项信息,并 完成下表: 表一:统计进程的各项主要信息 3、启动办公软件“Word”,在任务管理器中找到该软件的登记,并将其结束掉。再

从任务管理器中分别找到下列程序:winlogon.exe、lsass.exe、csrss.exe、smss.exe,试着结束它们,观察到的反应是任务管理器无法结束进程, 原因是该系统是系统进程。 4、在任务管理器中找到进程“explorer.exe”,将之结束掉,并将桌面上你打开的所 有窗口最小化,看看你的计算机系统起来什么样的变化桌面上图标菜单都消失了、得到的结论explorer.exe是管理桌面图标的文件(说出explorer.exe进程的作用)。 5、运行“spy++.exe”应用软件,点击按钮“”,切换到进程显示栏上,查看进 程“explorer.exe”的各项信息,并填写下表: 进程:explorer.exe 中的各个线程

南京邮电大学计算机操作系统试题

计算机操作系统试题 一填空: 2.主存储器与外围设备之间的数据传送控制方式有程序直接控制、中断驱动方式、DMA方式和通道控制方式。 4.当一个进程独占处理器顺序执行时,具有两个特性:封闭性和可再现性。 5.程序经编译或汇编以后形成目标程序,其指令的顺序都是以零作为参考地址,这些地址称为逻辑地址。 7.进程由程度、数据和FCB组成。 8.对信号量S的操作只能通过原语操作进行,对应每一个信号量设置了一个等待队列。 21.操作系统目前有五大类型:批处理操作系统、分时操作系统、实时操作系统、网络操作系统和分布式操作系统。 24、在设备管理中,为了克服独占设备速度较慢、降低设备资源利用率的缺点,引入了虚拟分配技术,即用共享设备模拟独占设备。 25、常用的内存管理方法有分区管理、页式管理、段式管理和段页式管理。 26、动态存储分配时,要靠硬件地址变换机构实现重定位。 27、在存储管理中常用虚拟存储器方式来摆脱主存容量的限制。 35. 在操作系统中,进程是一个资源分配的基本单位,也是一个独立运行和调度 的基本单位。 36. 在信号量机制中,信号量S > 0时的值表示可用资源数目;若S < 0,则表示等待该资源的进程数,此时进程应阻塞。 37. 操作系统提供给编程人员的唯一接口是系统调用。 38. 设备从资源分配角度可分为独占设备,共享设备和虚拟设备。 42. 地址变换机构的基本任务是将虚地址空间中的逻辑地址变换为内存中的物理地址。44.现代操作系统的两个重要特征是并发和共享。 47. 操作系统的基本类型有批处理操作系统,分时操作系统和实时操作系统三种。58.在分时系统中,当用户数目为100时,为保证响应时间不超过2秒,此时时间片最大应为20ms。分时系统采用的调度方法是时间片轮转调度算法。 66.使用缓冲区能有效地缓和I/O设备和CPU之间速度不匹配的矛盾。 71.计算机操作系统是方便用户、管理和控制计算机系统资源的系统软件。 90.在一个请求分页系统中,假如系统分配给一个作业的物理块数为3,且此作业的页面走向为2,3,2,1,5,2,4,5,3,2,5,2。OTP算法的页面置换次数为3 ,LRU算法的页面置换次数为4,CLOCK算法的页面置换次数为5 。 108. 现代操作系统的特征是并发、共享、虚拟和异步性。 109.产生死锁的四个必要条件是互斥条件和请求和保持,不剥夺条件和环路条件。 110.操作系统的五大功能是CPU管理、存储管理、设备管理、文件系统和用户接口。112.文件系统的基本任务是实现按名存取。 119.一次只允许一个进程访问的资源叫临界资源。 120.在操作系统中进程是一个拥有资源的单位,也是一个调度和执行的基本单位。 二、单选题 1.()不是基本的操作系统。

SQL语言的应用实验报告 南京邮电大学

实验报告 2013 /2014 学年第二学期 实验名称SQL语言的应用专业广播电视工程 学生学号11003829 学生姓名____林钢_____ 指导教师胥备

SQL语言的应用实验报告 实验名称:SQL语言的应用 指导教师:胥备 实验类型:验证 实验学时:4*2 实验时间:2014年3月18日 一、实验目的和要求 练习使用SQL SERVER数据库产品,熟练使用查询分析器和企业管理器; 掌握SQL语言中常用的语句:用DDL创建基本表;用DML插入、修改、删除数据;用QL查询数据等。 二、实验环境(实验设备) 硬件:个人计算机; 软件:MS SQL SERVER环境。 三、实验原理及内容 1.用SQL SERVER的企业管理器创建数据库 数据库名称:M11003829 操作步骤:1、单击左侧的SQL Server组→右键→新建SQL Server注册→下一步→在左侧的“可用的服务器”栏选中或输入CC-PC→点击中间 的添加将CC-PC添加到右侧的“添加的服务器”栏→下一步→选 中“登录时使用Windows身份认证”→点击下一步→选中“在现 有SQL Server组中添加SQL Server”→点击下一步→完成→关 闭。 2、单击左侧的SQL Server组下面可用的已注册子组里面的数据库→ 右键→新建数据库→输入数据库名称M11003829 2.用查询分析器在上一步创建的数据库中完成以下功能 1)进入查询分析器并选择操作的数据库 操作步骤:1、开始→程序→MS SQL Server→查询分析器

设置:确认SQL Server(s)为CC-PC 选择Windows身份认证 确定 2、在工具栏的下拉链表种选择名为M11003829的数据库。 2)建立基本表:学生、课程和选课,写出DDL语句 建立学生表、插入数据。 学生 学号姓名年龄性别 S1 WANG 20 M S2 LIU 19 F S3 CHEN 22 M S4 WU 19 M S5 LI 21 F Create TABLE STUDENT ( SNO VARCHAR(7) NOT NULL, SNAME VARCHAR(10)NOT NULL, AGE INT NOT NULL, SEX VARCHAR(7), Primary Key(SNO), ); use M11003829; Insert Into STUDENT Values ('S1' ,'WANG', '20', 'M'); Insert Into STUDENT Values ('S2', 'LIU','19',' F'); Insert Into STUDENT Values ('S3', 'CHEN' ,'22', 'M'); Insert Into STUDENT Values ('S4', 'WU', '19', 'M'); Insert Into STUDENT Values ('S5', 'LI', '21', 'F'); 建立课程表、插入数据。

操作系统 实验报告 一

姓名:****** 班级:2010级软件工程 学号:******** 日期:2012年10月19日 一、实验题目Windows 2000进程的“一生” 二、实验目的 1) 通过创建进程、观察正在运行的进程和终止进程的程序设计和调试操作, 进一步熟悉操作系统的进程概念,理解Windows 2000进程的“一生”。 2) 通过阅读和分析实验程序,学习创建进程、观察进程和终止进程的程序设 计方法。 二、实验内容 本实验分为三个小实验分别为实验1.1、实验1.2、实验1.3,每个小实 验的实验题目、实验目的、实验内容、实验过程、回答问题、实验总结 分别如下: 一、实验题目实验1.1:创建进程 二、实验目的 1)通过创建进程的程序设计和调试操作,进一步熟悉操作系统的进程概念,理解Windows 2000进程的“一生”。 2) 通过阅读和分析实验程序,学习创建进程、观察进程和终止进程的程序 设计方法。 三、实验内容: 1) 调试实验3-5中的程序。 2) 观察并分析程序。 四、实验过程及结果: 步骤1:登录进入Windows 2000 Professional。 步骤2:在“开始”菜单中单击“程序”-“Microsoft Visual Studio 6.0”–“Microsoft Visual C++ 6.0”命令,进入Visual C++窗口。 步骤3:在工具栏单击“打开”按钮,在“打开”对话框中找到并打开实验源程

序3-5.cpp。 步骤4:单击“Build”菜单中的“Compile 3-5.cpp”命令编辑3-5.cpp 步骤5:编译完成后,单击“Build”菜单中的“Build 3-5.exe”命令,建立3-5.exe 可执行文件。 步骤6:在工具栏单击“Execute Program”(执行程序) 按钮,或者按Ctrl + F5键,或者单击“Build”菜单中的“Execute 3-5.exe”命令,执行3-5.exe 程序。 步骤7:按Ctrl + S键可暂停程序的执行,按Ctrl + Pause (Break) 键可终止程序的执行。 运行结果分析: 答:程序的运行结果如下图所示: 图一 图二

南邮考研_微机原理真题

南邮考研_微机原理历年复试题 2004 问答:计算机系统/计算机组成原理的定义。 1.填空:字符串并,倒置 2.问答:8254方式N的特点(书P173-177) 3.问答:中断/DMA的区别,DMA的特点,DMA的传送方式 4.程序题:(2进制-10进制转换)(书P118) 5.程序题:串行的2种方式;8250初始化(P118) 6.程序填空:有关8254的 7.程序题:8254+8259A 8.问答:中断方式 2005 1.关于计算机中数制的转换 2.N位补码真值的范围 3.有关汇编中关于堆栈的地址计算 4.生成COM或EXE文件的汇编步骤(P85) 5.分析指令错误 6.8254的3个计数器的功能(P181) 7.异步通信数据格式(一帧数据的格式,P230) 8.非屏蔽中断条件(P202) 9.溢出错误的原因,单工,双工的概念(P229) 10.8255A方式1的联络线的定义及物理意义 11.程序题:8254计数器产生900HZ的方波,经过滤波后送到扬声器发声,当按下任意键声 音停止(P181) 12.程序题:(关于串操作指令)用多种方法进行数据块传送(P64) 2006 1.设字长为8位,X=(8EH)补其真值位F2 H 2.写出下列操作的寻址方式: MOV DL,DS:[BP+10] 基址 ADD DL,BUF 直接 3.用图表表示下列数据的存储方式: BUF1 DB 2乘5,0A6H,’HELLO’ BUF2 DD ‘AB’,’A’ BUF3 DW 87654321H 4.编写程序,把10字节的数据块从偏移地址BUF开始的单元传送到偏移地址BUF+5开 始的缓冲区 5.编写程序,输出800HZ的音乐(P238) 6.用一条操作完成下列目标: 使AL第1位置为1 使AL后4位为0

操作系统实验一实验报告

操作系统实验一实验报告 基本信息 1.1 实验题目 进程控制实验 1.2完成人 王召德 1.3报告日期 2015-4-8 实验内容简要描述 2.1实验目标 加深对于进程并发执行概念的理解。实践并发进程的创建和控制方法。观察和 体验进程的动态特性。进一步理解进程生命期期间创建、变换、撤销状态变换的过 程。掌握进程控制的方法,了解父子进程间的控制和协作关系。练习Linux 系统中 进程创建与控制有关的系统调用的编程和调试技术。 2.2实验要求 参考以上示例程序中建立并发进程的方法,编写一个多进程并发执行程序。父进程首先创建一个执行ls命令的子进程然后再创建一个执行ps命令的子进程,并控制ps 命令总在ls 命令之前执行。 2.3实验的软硬件环境

Ubuntu14.04 intelPC 报告的主要内容 3.1实验的思路 按照上面的实例,先生成一个子进程让其等待,然后生成第二个子进程,父进程等待其执行ps命令后唤醒第一个子进程执行ls即可。 3.2实验模型的描述 无 3.3主要数据结构的分析说明 无 3.4主要算法代码的分析说明 无 3.5项目管理文件的说明 无 实验过程和结果 4.1实验投入的实际学时数 1学时 4.2调试排错过程的记录 曾尝试让第二个子进程激活第一个子进程,结果发现当运行ps后,后面的代码将不再执行,所以不可行。 4.3多种方式测试结果的记录

实验结果: 父进程启动 (12239) ls子进程启动 (12240) ps子进程启动 (12241) PID TTY TIME CMD 12239 pts/27 00:00:00 born 12240 pts/27 00:00:00 born 12241 pts/27 00:00:00 ps ps子进程结束 (12241) 唤醒ls子进程 (12240) 键盘中断信号产生... ls子进程被唤醒 (12240) . born born.c~ hello.c pctl pctl.c~ pctl.o .. born.c helelo.h~ hello.c~ pctl.c pctl.h ls子进程结束 (12240) 父进程结束 (12239) 4.4实验结果的分析综合 无 实验的总结 父进程可以通过fork()函数生成子进程,子进程会从fork()函数开始执行原来的代码,当

操作系统试卷

南邮2008/2009学年第一学期 《操作系统A 》期末试卷(B ) 院(系) 班级 学号 姓名 试卷 请考生注意: 1、答案请写在答题纸上,写在试卷上一律无效! 2、考试完毕,请将答题纸、试卷、草稿纸全部交给监考老师,不得带出考场 一、单项选择题(每题2分,共20分) 1、设定一个作业建立一个进程,为了使长、短和交互式作业都能得到及 时的运行,应选用的调度算法是( )。 A .先来先服务算法 B .短作业优先算法 C .多级反馈队列算法 D .优先数算法 2、进程从运行状态进入就绪状态的原因可能是( )。 A. 被选中占有处理机 B. 等待某一事件 C. 等待的事件已发生 D. 时间片用完 3、利用管道进行的进程通信机制实质是( )。 A. 信号通信机制 B. 共享存储区通信机制 C. 共享文件通信机制 D. 消息传递通信机制 4、某页式存储管理系统中,地址寄存器长度为24位,其中页号占14位,则主存的 分块大小应该是( )字节。 A .210 B .10 C .14 D .214 5、下列说法中错误的是( )。 A. 作业分得的主存块数越多,缺页中断率越低 B. 作业划分的页面越小,缺页中断率越低 C. 程序局部性越好,缺页中断率越低 D. OPT 算法的缺页中断率最低 装 订 线 内 不 要 答 题 自 觉 遵 守 考 试 规 则,诚 信 考 试,绝 不 作 弊

6、I/O设备的控制方式中比DMA方式效率高的是()。 A.询问方式 B.中断方式 C. 通道方式 D. 以上都不是 7、Spooling技术是一种实现虚拟()的技术。 A. 处理器 B. 设备 C. 存储器 D. 链路 8、引入缓冲的主要目的是()。 A. 改善CPU和I/O设备之间速度不匹配的情况 B. 节省内存 C. 提高CPU的运行频率 D. 提高I/O设备的利用率 9、位示图方法可用于()。 A. 盘空间的管理 B. 盘的驱动调度 C. 文件目录的查找 D. 页式虚拟存贮管理中的页面调度 10、把逻辑文件存放到存储介质上时,如果组织成()文件,则逻辑记录可以按 任意次序存放在不相邻的存储块中。 A.流式B.记录式C.顺序结构D.链接结构 二、填空题(每空1分,共20分) 1、是操作系统为了管理进程设置的一个专门的数据结构,用它来记录 进程的外部特征,描述进程的运动变化过程。是操作系统为管理文件而设置的数据结构,存放了为管理文件所需的所有有关信息。 2、可靠的信箱通信规则是:若发送信件时信箱已满,则发送进程被置成状态, 直到信箱有空时才被释放。若取信件时信箱中无信,则接收进程被置成状 态,直到有信件时才被释放。 3、Spooling系统主要由预输入程序、程序和程序组成。 4、根据运行程序对资源和机器指令的使用权限将处理器设置为不同状态,多数系统 将处理器工作状态划分为和这两种状态。 5、UNIX系统将文件分为三类:普通文件、文件和文件。 6、为了提高运算速度,通常都在MMU中设置一个专用的高速缓冲存储器,用来存 放最近问的部分页表,这种高速存储器称为,存放在该存储器中的页表称。 7、死锁的四个必要条件是互斥使用资源,占有等待资源,和。 8、操作系统中存储管理模块所实现的存储保护主要是防止和防止。 9、一个UNIX文件F的存取权限为:–rwxr–x–––,这表示这是一个文件,文 件主对该文件的读写权限为。 10、一进程刚获得三个主存页框的使用权,若该进程访问逻辑页面的次序是{1321215123}。 设初始主存页框为空,则当采用先进先出调度算法时,发生缺页次数是次,而采 用LRU算法时,缺页次数是次。(注:最初空的3页调入内存计入缺页中断次数)

【VIP专享】南邮数据库实验报告

课内实验报告 课程名:数据库原理与应用任课教师: 专业: 学号: 姓名: 2014/2015学年第2学期 南京邮电大学管理学院

指导教师成绩评定表 题 目学生成绩管理数据库的建立 学生姓名班级学号专业 评分内容评分标准总分评分 平时成绩10%认真对待课程设计,遵守实验室规定,上机不迟到早退,不 做和设计无关的事。 10数据设计是否完整、合理10流程设计是否全面、深入10 设计内容 30% 界面设计是否美观易用10 文档内容是否完整、逻辑清晰10 文档写作 20%文档格式是否符合要求10运行效果20 系统运行 40%现场问题的回答20 总评分 其他问题 成绩指导教师签名翟丹妮日期2015.6.10

……系统设计与开发 一.问题描述 1.场景介绍 学生成绩管理数据库的建立 2.存在的问题 数据录入方式的问题,查询问题,sql语言的编写 3.解决方式 你的系统打算通过什么方式来解决这些问题 使用ACCESS数据库来处理 二.系统分析 1.用户分析 教师、学生 2.流程分析 设计学生数据结构,输入信息,排版建立窗体搜索 3.数据分析 学生(学号,姓名,性别,年龄,籍贯,班级代号)课程(课程号,课程名称,学分数,教师代号) 成绩(学号,课程号,成绩,考试时间) 教师(教师代号,姓名,性别,年龄,职称) (1)构建一个教学管理关系数据库如下: 学生(学号,姓名,性别,年龄,籍贯,班级代号)课程(课程号,课程名称,学分数,教师代号) 成绩(学号,课程号,成绩,考试时间) 教师(教师代号,姓名,性别,年龄,职称) 4.功能分析 针对各类用户,你的系统打算分别提供哪些功能 学生成绩的录入,搜索,排名等

操作系统实验报告

实验二进程调度 1.目的和要求 通过这次实验,理解进程调度的过程,进一步掌握进程状态的转变、进程调度的策略,进一步体会多道程序并发执行的特点,并分析具体的调度算法的特点,掌握对系统性能的评价方法。 2.实验内容 阅读教材《计算机操作系统》第二章和第三章,掌握进程管理及调度相关概念和原理。 编写程序模拟实现进程的轮转法调度过程,模拟程序只对PCB进行相应的调度模拟操作,不需要实际程序。假设初始状态为:有 n 个进程处于就绪状态,有m个进程处于阻塞状态。采用轮转法进程调度算法进行调度(调度过程中,假设处于执行状态的进程不会阻塞),且每过 t 个时间片系统释放资源,唤醒处于阻塞队列队首的进程。 程序要求如下: 1)输出系统中进程的调度次序; 2)计算CPU利用率。 3.实验环境 Windows操作系统、VC++6.0 C语言

4 设计思想: (1)程序中进程可用PCB表示,其类型描述如下: struct PCB_type { int pid ;// 进程名 int state ;// 进程状态 2——表示“执行”状态 1——表示“就绪”状态 0——表示“阻塞”状态 int cpu_time ; //运行需要的CPU寸间(需运行的时间片 个数) } 用PCB来模拟进程; (2)设置两个队 列,将处于“就绪”状态的进程PCB挂在队列readyxx ;将处于“阻塞”状态的进程 PCB挂在队列blockedxx。 队列类型描述如下: struct QueueNode{

struct PCB_type PCB; Struct QueueNode *next; } 并设全程量: struct QueueNode *ready_head=NULL,//ready 队列队首指针 *ready_tail=NULL , //ready 队列队尾指针 *blocked_head=NULL,//blocked 队列队首指 针 *blocked_tail=NULL; //blocked 队列队尾指 针 (3)设计子程序: start_state(); 读入假设的数据,设置系统初始状态,即初始化就绪队列和 阻塞队列 dispath(); 模拟调度,当就绪队列的队首进程运行一个时间片后,放到就绪队列末尾,每次都是队首进程进行调度,一个进程运行结束 就从就绪队列中删除,当到 t 个时间片后,唤醒阻塞队列队首进程。

南邮课程设计实验报告

课程设计I报告 题目:课程设计 班级:44 姓名:范海霞 指导教师:黄双颖 职称: 成绩: 通达学院 2015 年 1 月 4 日

一:SPSS的安装和使用 在PC机上安装SPSS软件,打开软件: 基本统计分析功能包括描述统计和行列计算,还包括在基本分析中最受欢迎的常见统计功能,如汇总、计数、交叉分析、分类比较、描述性统计、因子分析、回归分析及聚类分析等等。具体如下: 1.数据访问、数据准备、数据管理与输出管理; 2.描述统计和探索分析:频数、描述、集中趋势和离散趋势分析、分布分析与查看、正态性检验与正态转换、均值的置信区间估计; 3.交叉表:计数;行、列和总计百分比;独立性检验;定类变量和定序变量的相关性测度; 4.二元统计:均值比较、T检验、单因素方差分析; 5.相关分析:双变量相关分析、偏相关分析、距离分析; 6.线性回归分析:自动线性建模、线性回归、Ordinal回归—PLUM、曲线估计; 7.非参数检验:单一样本检验、双重相关样本检验、K重相关样本检验、双重独立样本检验、K重独立样本检验; 8.多重响应分析:交叉表、频数表; 9.预测数值结果和区分群体:K-means聚类分析、分级聚类分析、两步聚类分析、快速聚类分析、因子分析、主成分分析、最近邻元素分析; 10. 判别分析; 11.尺度分析; 12. 报告:各种报告、记录摘要、图表功能(分类图表、条型图、线型图、面积图、高低图、箱线图、散点图、质量控制图、诊断和探测图等); 13.数据管理、数据转换与文件管理; 二.数据文件的处理 SPSS数据文件是一种结构性数据文件,由数据的结构和数据的内容两部分构成,也可以说由变量和观测两部分构成。定义一个变量至少要定义它的两个属性,即变量名和变量类型其他属性可以暂时采用系统默认值,待以后分析过程中如果有需要再对其进行设置。在spss数据编辑窗口中单击“变量视窗”标签,进入变量视窗界面,即可对变量的各个属性进行设置。 1.创建一个数据文件数据 (1)选择菜单【文件】→【新建】→【数据】新建一个数据文件,进入数据编辑窗口。窗口顶部标题为“PASW Statistics数据编辑器”。 (2)单击左下角【变量视窗】标签进入变量视图界面,根据试验的设计定义每个变量类型。

操作系统实验报告_实验四

实验四:进程管理(二) 实验内容: 1.编写一个程序,打印进程的如下信息:进程标识符,父进程标识符,真实用户ID,有效用户ID,真实用户组ID,有效用户组ID。并分析真实用户ID和有效用户ID的区别。 源代码及结果: 真实用户ID和有效用户ID的区别: 真实用户ID:这个ID就是我们登陆unix系统时的身份ID。 有效用户ID:定义了操作者的权限。有效用户ID是进程的属性,决定了该进程对文件的访问权限。 2.阅读如下程序,编译并运行,分析进程执行过程的时间消耗(总共消耗的时间和CPU 消耗的时间),并解释执行结果。再编写一个计算密集型的程序替代grep,比较两次时间的花销。注释程序主要语句。 /* process using time */ #include #include #include #include #include void time_print(char *,clock_t);

int main(void){ //取得进程运行相关的时间 clock_t start,end; struct tms t_start,t_end; start = times(&t_start); system(“grep the /usr/doc/*/* > /dev/null 2> /dev/null”); /*command >/dev/null的作用是将是command命令的标准输出丢弃,而标准错误输出还是在屏幕上。一般来讲标准输出和标准错误输出都是屏幕,因此错误信息还是会在屏幕上输出。>/dev/null 2> /dev/null 标准输出与标准错误输出都会被丢弃*/ // 0 1 2 标准输入标准输出错误输出 // > 将信息放到该文件null中 end=times(&t_end); time_print(“elapsed”,end-start); puts(“parent times”); time_print(“\tuser CP U”,t_end.tms_utime); time_print(“\tsys CPU”,t_end.tms_stime); puts(“child times”); time_print(“\tuser CPU”,t_end.tms_cutime); time_print(“\tsys CPU”,t_end.tms_cstime); exit(EXIT_SUCCESS); } void time_print(char *str, clock_t time) { long tps = sysconf(_SC_CLK_TCK); /*函数sysconf()的作用为将时钟滴答数转化为秒数,_SC_CLK_TCK 为定义每秒钟

南邮单片机实验报告

南邮单片机实验报告 篇一:南邮数据库实验报告 数据库实验报告 ( XX / XX 学年第二学期)? ? 学号 姓名 指导教师 成绩 一、数据库原理第一次实验 【一】实验内容: 数据库表的建立与管理【二】、实验目的: 学习数据库及表的建立、删除、更新等操作。 注:本次实验题目,除了特殊要求,以T-SQL为主,并将所有语句标注好题号,留存在查询界面上,方便检查。【三】、实验题目及其解答: 1、创建一名为‘test’的数据库; CREATE DATABASE test 2、在“test”数据库中新建一张部门表“部门”,输入列:name(char,10位),ID(char,7位),manager (char,10位)各列均不能为空值。

Solution: use test CREATE TABLE 部门 (ID CHAR(7) NOT NULL,name CHAR(10) NOT NULL,manager CHAR(10) NOT NULL) 结果: 3、在“test”数据库中新建一张员工表,命名为 “员工”。在表中输入以下各列: name(char,10位),personID(char,7位),Sex(char,7位),birthday(datetime),deptID(char,7位),各列均不能为空值。 CREATE TABLE 员工 (name CHAR(10) NOT NULL, personID CHAR(7) NOT NULL, sex CHAR(7) NOT NULL, birthday datetime NOT NULL, deptID CHAR(7) NOT NULL) 结果: 4、修改表的操作练习: 1)将‘部门’表中的列ID设为主键; 2)将‘员工’表中personID设为主键,并将deptID设置为外键,关联到‘部门’表上的‘ID’列; 3)在‘部门’表中,添加列quantity(char, 5); 4) 删除‘员工’表中的列‘sex’; 5)修改‘员工’表中列name为(varchar,8) ALTER TABLE 部门 ADD CONSTRAINT C1 PRIMARY KEY(ID) ALTER TABLE 员工ADD CONSTRAINT C2 PRIMARY

南邮操作系统试卷及答案

请考生注意: 1.答案请写在答题纸上,写在试卷上一律无效。 2.考试完毕,请将答题纸和试卷交给监考老师,不得带出考场。 一、填空题(20分,共10空) 1、 三种基本的操作系统是:________、________、实时操作系统。 2、 Linux 操作系统按照事件来源和实现手段将中断分为________、________。 3、 分区存储管理可分为________、________两种方式。 4、5、1、2、3、N 表 4、5、A .DMA 时间 B .寻道时间 C .旋转延迟时间 D .传输时间 6、 一个分页存储管理系统中,地址长度为32位,其中页号占8位,则页表长度是 _________。 A .2的8次方字节 B .2的16次方字节 C .2的24次方字节 D .2的32次方字节 7、 页表地址转换采用相联存储器的方法后,地址转换时间将大大加快。假定访问内存 装 订 线 内 不 要 答 题 自 觉 遵 守 考 试 规 则,诚 信 考 试,绝 不 作 弊

的时间为100ns,访问相联存储器的时间为20ns,相联存储器为32个单元时查快表的命中率可达90%,按逻辑地址进行存取的平均时间为_______ns。 A.100 B.108 C.120 D.128 8、程序员利用系统调用打开I/O设备时,通常使用的设备标识是_________。 A.逻辑设备名B.物理设备名 C.主设备号D.从设备号 9、下列选项中,不属于常见I/O控制方式的是_________。 A.程序直接查询控制方式B.中断方式 10

三、简答题(20分,共5题) 1、简述采用了多道程序设计技术操作系统的特性。 2、请简单叙述进程的三态模型的状态转化。 3、简述段式存储管理和页式存储管理的共同点和区别。 4、简述SPOOLing技术的特点。 5、请简单叙述缓冲的基本思想及常见的缓冲技术。 四、综合题(40分,共4题) 1、问题描述:若干进程通过有限的共享缓冲区交换数据。其中,生产者进程不断写入, 2、 3、 4、 1

操作系统实验报告1-5

操作系统实验报告 姓名: 学号:

实验1:Linux虚拟机的安装与配置 一、实验目的: 1、熟悉VM虚拟机软件的安装与使用 2、安装Linux虚拟机 3、进行Linux简单的配置 二、实验内容 1、安装VM虚拟机软件 2、安装Linux虚拟机 部署方案:8G空间为/主分区(根目录),2G空间为swap(交换分区)/home用户home目录所在地 /temp存放临时文件 /var/log 系统日志记录区 /var 日志文件 /usr 应用程序目录 /bin 存放程序,里面的程序可通过命令直接调用

/dev 存放设备文件 /opt 存放可选的安装文件 /boot 包含了操作系统的内核和在启动系统过程中所有要用到的文件 /srv 启动目录需用的资源目录 3、配置Linux系统引导模式为命令模式(模式3) 登录Linux系统,进入终端窗口,输入命令行:startx & init 5,回车确认 三、实验总结 虚拟机及Linux系统安装较容易,相对于Windows系统,图形界面的Linux 系统操作不是很熟悉,需要多加练习;切换成字符界面(模式3启动)后,感觉用命令控制系统很有成就感,这提高了对Linux系统学习的兴趣。

实验2:Linux文件系统 一、实验目的: 1、上机操作,熟悉Linux基本命令 2、熟悉Linux文件系统及操作命令 3、熟悉文件系统的挂载 二、实验内容(程序见实验截图) 1、查看Linux根目录的结构,并罗列出详细的权限信息(以- rwxr - xr - x 模式的输出行) 2、查看主目录下的.bashrc 文件 3、在当前用户的主目录下创建目录mydata,并进入该目录; (配置Linux系统引导模式为命令模式3)

南邮电工电子实验复习与试卷

南京邮电大学电工电子实验复习资料与试卷 一、实验操作 1、信号与系统操作实验请复习所做的实验。 主要掌握的要点: ①由所给的电路转换出该电路的电压传输函数H(s)=V2(s)/V1(s),并能把传输函数 化成Multisim所需的标准形式: (A)算子S 在分子的幂次不高于分母的幂次。 (B)因需用积分器仿真,算子S 应化成1/S 。 (C)分母的常数项化成1。 ②能画出完整的系统模拟框图。 ③运用Multisim的模拟器件库中的积分器、比例放大器、加法器等模块组构系统模拟 电路。应遵循以下几个原则: (1)系统模拟电路输入端必用加法器模块对输入信号和反馈信号求和,加法器输出送积 分器模块 (2)根据S 的最高幂次n,取出n个积分器模块串接。 (3)算子S的系数使用比例放大器模块 (4)传输函数H(S)的分子是输出项,分子中各项比例放大器模块的输出用加法器求和后 成为系统输出。分母是负反馈项,其系数正、负异号后送输入端加法器。 (5)分母中为1的常数项不用任何运算模块 例如1: 10 6 2 6 2 111 ()// () 111 [()//]() 10 103000 1 R SC SC SC H S R R R SC SC SC S S S +? = ++?+ = ++

画出幅频和相频图 例如2: 画出幅频和相频图 2、操作题如下图所示,写出该图的传输函数H(S)(V1是输入信号、V2是输出信号)。画出题中电路对应的系统模拟框图。(20分)

写出传输函数H(S) (10分) 画出题中电路对应的系统模拟框图(10 分) 在Multisim2001环境中,测试该系统模拟电路的幅频特性相关参数。(10分)(需包含半功率点与谐振频率点) 频率点 3.147KHz 3.715KHz 4.474KHz 电压比0.707 0.9999 0.707 根据测试数据作出该电路的幅频特性曲线图。(10分) 有波形5分, 每个参数1分. 3、D/A转换器操作实验请复习所做的实验。 掌握的要点:

操作系统实验报告一

江西师范大学计算机信息工程学院学生实验报告一 专业计算机科学与技术姓名燕悦学号 1408091077 日期 2016.3.29 课程名称计算机操作系统实验室名称X4313a 实验名称处理器管理 指导教师张练兴成绩 1、实验目的 在多道程序或者多任务系统中,同时处于就绪态的进程有若干个。在单处理器系统中,处于运行态的进程最多只有一个,也就是说能运行的进程数远小于就绪态进程个数,所以必须进行进程调度,按照一定的调度算法,即依照某种原则或策略从就绪态队列中选中进程占用处理器。 2、实验原理和内容 (1)设计一个按优先级调度的算法。 (2)进程调度时,采用静态优先调度,用非抢占式方式分配处理器。 3、实验步骤 (1)假定进程控制块中包含内容为:进程名、指针、运行时间、优先级、状态。其中进程名即进程标示符;链接指针是按照进程到达进程就绪队列的时间链接。进程的优先数由用户自己指定,并且优先数值越小,优先级越高,调度时,总是选择优先级高的进程占用CPU;估计运行时间可由设计者任意指定一个时间值; (2)根据需要,设计一个队首指针指向5个进程(进程名为A,B,C,D,E)组成的就绪队列中的第一个进程,再设一个当前指针指向当前正在运行的进程。 (3)处理器调度总是选择队首进程进行,采用动态改变优先数方法,每运行一次,优先数“减1”。 (4)进程运行一次后,若要求运行时间不为0,则将它加入队列尾部,若要求时间为“0”,修改其状态为“结束”,并退出队列。直到所有进程运行完毕。 (5)程序必须有输出语句,用于输出进程调度和运行一次后进程的变化。比如:每次被选中的进程名,就绪队列中进程的排队情况,进程控制块的动态变化。

南京邮电大学实验报告模版

南京邮电大学实验报告模版 实验报告课程名称实验名称计算机操作系统虚拟存储中页面置换算法的模拟实现2014 实验时间指导单位指导教师年12 月19 日南京邮电大学崔衍学生姓名学院(系) 物联网院班级学号专业网络工程实验报告实验名称虚拟存储中页面置换算法的模拟实现实验类型上机实验实验学时一、实验目的和要求目的:通过请求页式存储管理中页面置换算法模拟设计,了解虚拟存储技术的技术特点,掌握请求页式存储管理的页面置换算法要求:(1)设计实现下面算法,并输出下述各种算法的命中率。 ①先进先出的算法;②最近最少使用算法先淘汰最不常用的页地址。(2)多次反复运行改进后的程序,观察并记

录运行结果,并分析原因。指导教师崔衍 4 实验时间二、实验环境(实验设备) Vc++ - 2 - 二、实验原理及内容实验三#include #include #include #include #define Bsize 4 typedef struct BLOCK//声明一种新类型——物理块类型{ int pagenum;//页号int accessed;//访问字段,其值表示多久未被访问}BLOCK; int pc;//程序计数器,用来记录指令的序号int n;//缺页计数器,用来记录缺页的次数static int temp[320];//用来存储320条随机数BLOCK block[Bsize]; //定义一大小为4的物理块数组//********************************* **************************** void init( );//程序初始化函数int findExist(int curpage);//查找物理块中是否有该页面int findSpace( );//查找是否有空闲物理块int findReplace( );//查找应予置换的页面void display ( );//显示void suijishu( );//产生320条随机数,显示

相关主题