文档库 最新最全的文档下载
当前位置:文档库 › 西北工业大学操作系统实验_OS3(5)

西北工业大学操作系统实验_OS3(5)

西北工业大学操作系统实验_OS3(5)
西北工业大学操作系统实验_OS3(5)

班级:10011007 学号:2010302541 姓名:陈一凡 实验七理解线程的相关概念

一.实验目的

理解当操作系统引入线程的概念后,进程是操作系统独立分配资源的单位,线程成为系统调度的单位,也是系统并发运行的独立单位。同一个进程中的各个线程共享进程的地址空间。

二.实验内容

(1)编写一个程序,在其main ()函数中创建一个(或多个)线程,观察该线 程是如何与主线程并发运行的。输出每次操作后的结果;

(2)在main()函数外定义一个变量int shared (全局变量),在main()中创建一 个线程,在main()中和新线程shared 进行循环加/减操作,观察该变量的变化;

(3)修改程序把int shared 变量定义到main ()函数之内,重复第(2)步操作, 观察该变量的变化;

(4)编写一个程序,在其main ()函数中创建至少两个线程,在这些线程中分 别说明(定义)名称相同的整型变量(例如,int x ;),分别在各个线程中修改这些变量,试观察这些变量值的变化。

开始 创建主进程

设置局部变量shared Sleep 1 S 创建线程

Shared++

输出Shared 的值

结束

开始

设置全局变量shared 创建主进程

Sleep 1 S

创建线程 Shared++ 输出Shared 的值 结束

实验八请求分页存储管理设计

一、实验目的

模拟存储管理常用的请求分页存储管理技术,通过本实验使学生更加深入的理解虚拟内存的思想和主要的页面淘汰算法。

二、实验内容

(1) 通过随机数产生一个指令行列,共320条指令,指令中的地址按下述原则生成:50%的指令是顺序执行;25%的指令均匀分布在前地址部分;25%的指令均匀分布在后地址部分。

(2) 具体实验办法是:在[0,319]之间选一起始点M;顺序执行一条指令,即第M+1条;向前地址[0,M-1]中执行一条指令M;顺序执行一条指令,即第M+1条;向后地址[M+2,319]中执行一条指令M。如此继续,直至产生320条指令。使用产生随机数的函数之前,首先要初始化设置RAN()产生序列的开始点,

SRAND(400);然后计算随机数,产生指令序列。例如:

a[0]=1.0*rand()/32767*319+1;

a[1]=a[0]+1;

a[2]=1.0*rand()/32767*(a[1]-1)+1;

a[3]=a[2]+1;

a[4]=319-1.0*rand()/32767*(a[3]-1);其中rand()和srand()为Linux操作系统提供的函数分别进行初始化和产生随机数,多次重复使用这5条指令,产生以后的指

令序列。

(3) 将指令序列变换成页面地址流:假设,页面大小为1KB;用户实存容量(内存区容量)为4页或32页;用户虚存容量(逻辑地址空间容量)为32KB;用户虚存容量32KB,每1KB中放10条指令,共320条指令序列,按其地址0~9在0页,10~19在1页,…….,310~319在31页。

(4) 使用不同的页面调度算法处理缺页中断,并计算不同实存容量下的命中率:先进先出(FIFO)算法;最近最少使用(LRU)算法;命中率的算法为:命中率= 1 - (缺页中断次数/页地址流长度)。本实验中,页地址流长度为320,缺页中断次数为每次访问相应指令时,该指令所对应的页不在内存的次数。

开始

产生随机指令

选择页面调度算法

FIFO LRU

结束

生成代码:

#include

#include

#include

#define MAXNUM 920 /*程序的大小,以字为单位*/

#define N_TEST 100 //

int a[N_TEST]; /*a[N_TEST]中存放产生的随机数*/ int *a_p; /*a_p是指向队列的指针*/

int page=10; /*页面大小*/

int mem=100; /*主存容量*/

int m=10; /*主存页数*/

int point=0;

int hit=0; /*命中次数*/

/*FIFO*/

void fifo()

{

int i;

hit=0;

point=0;

for(i=0;i

{

int j;

int temp=1;

for(j=0;j

{

if((a[i]/page)==a_p[j])

temp=0;

}

if(temp)

a_p[(point++)%m]=a[i]/page;

else

hit++;

}

printf("命中率为:%.3f%%\n",(float)hit/(float)N_TEST*100); }

/*LRU*/

void lru()

{

int i;

hit=0;

point=0;

for(i=0;i

{

int j;

int temp=1;

for(j=0;j

{

if((a[i]/page)==a_p[j])

temp=0;

}

if(temp)

a_p[(point++)%m]=a[i]/page;

else

{

for(j=0;j

{

a_p[(point+j)%m]=a_p[(point+1+j)%m];

}

a_p[(point+j)%m]=a[i]/page;

hit++;

}

}

printf("命中率为:%f\n",(float)hit/N_TEST*100);

}

int main()

{

int flag=1;

while(flag)

{

int i;

int select;

/*选择用哪种算法*/

printf("FIFO算法请输入0,LRU算法请输入1:\n");

scanf("%d",&select);

/*为指向队列的指针动态分配内存*/

a_p=(int *)malloc(m*sizeof(int));

/*产生随机数种子*/

srand((unsigned int)time(NULL));

//srand(400);

/*a_p初始化*/

for(i=0;i

a_p[i]=10001;

/*:

50%的指令是顺序执行;

25%的指令均匀分布在前地址部分;

25%的指令均匀分布在后地址部分。

*/

for(i=0;i

{

a[i++]=1.0*rand()/RAND_MAX*(MAXNUM-1)+1;

a[i++]=a[0]+1;

a[i++]=1.0*rand()/RAND_MAX*(a[1]-1)+1;

a[i++]=a[2]+1;

a[i]=MAXNUM-1.0*rand()/RAND_MAX*(a[3]-1); }

for(i=0;i

{

printf("%d\n",a[i]);

}

if(!select)

fifo();

else

lru();

printf("继续请按1,推出请按0\n");

scanf("%d",&flag);

if(0==flag)

exit(0);

}

return 0;

}

西北工业大学材料科学与工程专业简介

材料科学与工程 1.培养目标 培养在金属材料、无机非金属材料、光电信息功能材料、电子材料与器件、复合材料领域的科学与工程方面具有较宽基础知识、从事材料设计、研究、开发和技术管理的高级工程技术人才。 2.课程设置 主要课程:材料科学基础、物理化学、材料工程基础、材料现代研究方法、金属材料、光电材料、功能材料、复合材料、电子技术与控制、计算机系列课程等。 3.深造与就业方向 毕业生可继续攻读本专业及相关专业的硕士研究生,近三年本科考取研究生比例60%以上。 毕业生就业实行双向选择,毕业后可到研究所、企业从事科学研究、设计、生产管理、工程技术应用及高等院校的教学工作。 4.学制/学位 本科四年制/工学学士 材料科学与工程专业四年制本科培养方案 Cultivating Scheme of 4-year Undergraduate Course- Material and Enginee ring Speciality 一、培养目标 本专业培养具备金属材料及无机非金属材料科学与工程方面的知识,能在材料制备、成型加工、材料结构研究与分析等领域从事科学研究、技术开发、工艺和设备设计、生产及经营管理等方面工作的高级工程技术人才。

Ⅰ.Scheme Objectives The objectives of this scheme are to provide students of this major with t he technology and engineering knowledge of metal and inorganic-nonmetal mat erials, in order to make them outstanding engineers who are capable of underta king works of science research, technique and appliance design, manufacturing process management. 二、培养要求 本专业学生主要学习材料科学及各类材料加工工艺的基础理论与技术和有关设备的设计方法,受到现代机械工程师的基本训练,具有从事材料制备、加工成型研究、进行各类材料加工工艺及设备设计、生产组织管理的基本能力。Ⅱ.Requirements Students of this speciality shall learn the basic theories of material science and methods of material processing and how to design related equipment. The y also shall be trained to be modern mechanic engineers who are capable of d oing research works about material fabricating, forming, processing and related equipment design. At same time, they also should have the ability of fundame ntal management of manufacture process. 毕业生应获得以下几方面的知识和能力: Student of this major must fulfill the following requirements: (1)具有较扎实的自然科学基础,较好的人文、艺术和社会科学基础及正确运用本国语言、文字的表达能力; (2)具有较系统地掌握本专业领域宽广的理论基础知识,主要包括材料科学、力学、机械学、电工与电子技术、计算机系列课程、热加工工艺基础、自动化基础、市场经济及企业管理等基础知识; (3)具有本专业必需的计算、测试、文献检索能力和基本工艺操作等基本技能及较强的计算机和外语应用能力;

西北工业大学操作系统实验报告实验四

实验四进程与线程一、实验目的 (1)理解进程的独立空间; (2)理解线程的相关概念。 二、实验内容与要求 1、查阅资料,掌握进程创建和构造的相关知识和线程创建和构造的相关知 识,了解C语言程序编写的相关知识; 2、理解进程的独立空间的实验内容及步骤 (1)编写一个程序,在其 main()函数中定义一个变量 shared,对其进行循环加/减操作,并输出每次操作后的结果; (2)使用系统调用 fork()创建子进程,观察该变量的变化; (3)修改程序把 shared变量定义到 main()函数之外,重复第(2)步操作,观察该变量的变化。 3、理解线程的实验步骤 (1)编写一个程序,在其 main()函数中创建一个(或多个)线程,观察该线程是如何与主线程并发运行的。输出每次操作后的结果; (2)在 main()函数外定义一个变量shared(全局变量),在main()中创建一个线程,在 main()中和新线程shared进行循环加/减操作,观察该变量的变化; (3)修改程序把shared变量定义到 main()函数之内,重复第(2)步操作,观察该变量的变化。

4、对整个实验过程进行分析总结,给出详细步骤; (1) 观察上述进程执行结果,并分析原因; (2) 提交源程序清单,并附加流程图与注释。 三、实验过程 1、进程的与线程的创建和构造 (1).进程的创建和构造 进程简单来说就是在操作系统中运行的程序,它是操作系统资源管理的最小单位。但是进程是一个动态的实体,它是程序的一次执行过程。进程和程序的区别在于:进程是动态的,程序是静态的,进程是运行中的程序,而程序是一些保存在硬盘上的可执行代码。 新的进程通过克隆旧的程序(当前进程)而建立。fork()和clone()(对于线程)系统调用可用来建立新的进程。 (2)线程的创建和构造 线程也称做轻量级进程。就像进程一样,线程在程序中是独立的、并发的执行路径,每个线程有它自己的堆栈、自己的程序计数器和自己的局部变量。但是,与独立的进程相比,进程中的线程之间的独立程度要小。它们共享内存、文件句柄和其他每个进程应有的状态。 线程的出现也并不是为了取代进程,而是对进程的功能作了扩展。进程可以支持多个线程,它们看似同时执行,但相互之间并不同步。一个进程中的多个线程共享相同的内存地址空间,这就意味着它们可以访问相同的变量和对象,而且它们从同一堆中分配对象。尽管这让线程之间共享信息变得更容易,但你必须小心,确保它们不会妨碍同一进程里的其他线程。 线程与进程相似,是一段完成某个特定功能的代码,是程序中单个顺序的流控制,但与进程不同的是,同类的多个线程是共享同一块内存空间和一组系统资

西工大信号与系统-实验1

西北工业大学 《信号与系统》实验报告 西北工业大学

a. 上图分别是0N或者M

b. 以上是代码,下图是运行结果

由上图可看出,图上一共有3个唯一的信号。当k=1和k=6的时候的图像是一样的。因为档k= 1时,wk=(2*PI)/5,k=6时,wk=2PI+(2*PI)/5,即w6 = 2PI+w1,因为sin函数的周期是2PI,所以他俩的图像是一样的 c.代码如下:

图像如下: 可得出结论:如果2*pi/w0不是有理数,则该信号不是周期的 1.3离散时间信号时间变量的变换 a. nx=[zeros(1,3) 2 0 1 -1 3 zeros(1,3)];图像如下: b. 代码如下: x=zeros(1,11);

x(4)=2; x(6)=1; x(7)=-1; x(8)=3; n=-3:7; n1=n-2; n2=n+1; n3=-n; n4=-n+1; y1=x; y2=x; y3=x; y4=x; c: 代码和结果如下结果 下图是结果图

西北工业大学操作系统实验_OS3(10)

评语: 课中检查完成的题号及题数: 课后完成的题号与题数: 成绩: 指导教师: 实验报告三 实验名称:七、八日期:2013.05.23 班级:10011007 学号:2010302555 姓名:杨宏志实验七理解线程的相关概念 1. 实验目的 理解当操作系统引入线程的概念后,进程是操作系统独立分配资源的单位,线程成为系统调度的单位,与同一个进程中的其他线程共享程序空间。 2. 实验预习内容 预习线程创建和构造的相关知识,了解C语言程序编写的相关知识。 3. 实验内容及步骤 (1)编写一个程序,在其main()函数中创建一个(或多个)线程,观察该线程是如何与主线程并发运行的。输出每次操作后的结果; (2)在main()函数外定义一个变量shared(全局变量),在main()中创建一个线程,在main()中和新线程shared 进行循环加/减操作,观察该变量的变化; (3)修改程序把shared 变量定义到main()函数之内,重复第(2)步操作,观察该变量的变化。

4. 实验总结 (1) 观察上述程序执行结果,并分析原因; (2) 提交源程序清单,并附加流程图与注释。思考:分析进程和线程的不同之处。 5. 具体实现 1)观察线程并发性: #include #include #include void * func(void *params) { while(1) { printf("i am the thread 2\n"); sleep(1); } return NULL; } int main() { pthread_t tid; int res=pthread_create(&tid, NULL,func,NULL); while(1) { printf("i am main thread\n"); sleep(1); } return 0; }

西北工业大学研究生专业及教授

学科专业代码及名称研究方向代码及名称指导教师招生人数考试科目备注 040110 教育技术学7 01 多媒体应用研究徐伟教授 段渭军副教授李小聪副教授吴介军副教授 101 政治 201 英语 311 教育学专业基础综合 复试科目 924 C语言程序设计 同等学力加试科目概率论 信号与系统 微机原理及应用 任选两门但不能与初始科目相同 02 网络信息传播及存储技术徐伟教授 段渭军副教授于忠副教授 03 网络远程教育技术研究徐伟教授 段渭军副教授 04 现代教育技术研究徐伟教授 段渭军副教授吴介军副教授李小聪副教授 080805电工理论与新技术 6 02 电力电子理论与新技术景占荣教授段哲民教授 101政治 201英语 301数学(一) 444电路基础 446模拟电子技术任选一 复试科目 927电工电子技术综合基础 同等学力加试科目 信号与系统 数字电子技术 模拟电子技术 任选两门但不能与初始科目相同 03智能信息处理与检测技术段哲民教授 马建仓教授刘诗斌教授 04智能控制系统理论与新技术景占荣教授 马建仓教授刘诗斌教授 080902 电路与系统34 01网络与系统理论及其应用史浩山教授段哲民教授 雷金奎研究员张小林研究员

冯晓毅副教授李辉副教授 101政治 201英语 301 数学(一) 404电磁场与电磁波 432信号与系统 444电路基础任选一 446模拟电子技术 复试科目 同上 同等学力加试科目 信号与系统 电路基础 模拟电子技术 任选两门但不能与初试科目相同 02数据采集与信号处理段哲民教授 樊养余教授李宏教授 李辉副教授谢松云副教授 严家明副教授冯晓毅副教授 张小林研究员雷金奎研究员 03微电子技术应用于海勋教授刘诗斌教授 段哲民教授严家明副教授 04多媒体与计算机网络徐建城副教授 史浩山教授李宏教授 05 信息对抗技术李宏教授樊养余教授 谢松云副教授 06电子设计自动化于海勋教授刘诗斌教授 赵慧玲副教授 080903 微电子学与固体电子学10 01数模混合信号集成电路设计段哲民教授 刘诗斌教授 李辉副教授杨金孝副教授同上同上 02智能传感器与数据融合刘诗斌教授 李宏教授 冯晓毅副教授李辉副教授李会方副教授杨金孝副教授03专用集成电路与系统设计于海勋教授 李宏教授徐建城副教授杨金孝副教授 04集成电路SOPC_IP设计方法与设计技术段哲民教授 于海勋教授 李会方副教授徐建城副教授

2019 西北工业大学 879《专业综合》考试大纲

2019年西北工业大学879《专业综合》考试大纲 《专业综合》含数据结构、计算机网络、计算机组成原理、信号与系统四部分组成,四选二。 一、数据结构 1. 数据结构、抽象数据类型的概念; 2. 线性结构的相关内容。通用线性表和特殊线性表(栈、队列、广义表等)的逻辑结构以及物理结构;线性结构上的查找、插入和删除等算法;线性结构的典型应用方法;广义表的定义,操作和典型应用;多项式的表示和实现方法。 3. 树和二叉树的定义和结构特性,完全二叉树的性质;树和二叉树的存储实现方法,遍历树和二叉树的算法;树,森林和二叉树的转换;扩充二叉树和Huffman树的定义与实现,Huffman编解码及其应用; 4. 图的定义和两种存储结构(邻接矩阵、邻接表),图的深度优先搜索和广度优先搜索以及相关的生成树。图的最小生成树的算法(普里姆算法和克鲁斯卡尔算法),图的最短路径算法(迪杰克斯拉算法),AOV有向无环网的拓扑排序及其AOE网络的关键路径求解算法; 5. 静态查找表的查找方法,平均查找长度的计算方法,二叉排序树的构造、查找以及平衡化的方法;多路平衡搜索树;哈希查找的概念; 6. 排序的定义和各种排序方法的思想及其特点,掌握快速排序、希尔排序、冒泡排序、归并排序、堆排序等经典排序算法,并能够进行时空复杂性和稳定性的分析; 7. 能够灵活运用常见的数据结构解决实际问题; 二、计算机网络 8. 计算机网络、网络协议、时延、吞吐量的概念,分层的体系结构,OSI 和TCP/IP参考模型,数据交换技术:电路交换、报文交换与分组交换;传输复用技术; 9. 传输介质:双绞线、同轴电缆、光纤与无线传输介质; 10. 数据链路层:差错控制,多路访问链路和协议:CSMA/CD协议,CSMA/CA 协议; 11. 局域网:局域网的概念与体系结构;以太网、无线局域网、交换网络;网桥与交换机的工作原理;

西工大作业机考《计算机操作系统》标准

试卷总分:100 得分:98 一、单选题 (共 50 道试题,共 100 分) 1. 在()中,不可能产生系统抖动的现象。 A.固定分区管理 B.请求页式管理 C.段式管理 D.机器中不存在病毒时 正确答案: 2. 主要由于()原因,使UNIX易于移植。 A.UNIX是由机器指令编写的 B.UNIX大部分用汇编少部分用C语言编写 C.UNIX是用汇编语言编写的 D.UNIX小部分用汇编大部分用C语言编写 正确答案: 3. 磁盘是共享设备,每一时刻()进程与它交换信息。 A.可有任意多个 B.限定n个 C.至少有一个 D.最多有一个 正确答案: 4. 操作系统是一种()。 A.应用软件 B.系统软件 C.通用软件 D.工具软件 正确答案: 5. 操作系统提供的系统调用大致可分为()等几类。 A.文件操作类、资源申请类、控制类、设备调用类 B.文件操作类、资源申请类、控制类、信息维护类 C.文件操作类、资源申请类、信息维护类、设备调用类 D.资源申请类、控制类、信息维护类、设备调用类 正确答案: 6. 并发性是指若干事件在()发生。

B.同一时间间隔内 C.不同时刻 D.不同时间间隔内 正确答案: 7. 引入多道程序技术后,处理机的利用率()。 A.降低了 B.有所改善 C.大大提高 D.没有变化,只是程序的执行方便了 正确答案: 8. 一个进程被唤醒意味着()。 A.该进程重新占有了CPU B.进程状态变为就绪 C.它的优先权变为最大 D.其PCB移至就绪队列的队首 正确答案: 9. 进程间的基本关系为()。 A.相互独立与相互制约 B.同步与互斥 C.并行执行与资源共享 D.信息传递与信息缓冲 正确答案: 10. 下列方法中哪一个破坏了“循环等待”条件?() A.银行家算法 B.一次性分配策略(即预分配策略) C.剥夺资源法 D.资源有序分配 正确答案: 11. 存储管理的目的是()。 A.方便用户 B.提高内存利用率 C.A和B D.增加内存实际容量

信号与系统答案 西北工业大学 段哲民 信号与系统1-3章答案

第一章 习 题 1-1 画出下列各信号的波形:(1) f 1(t)=(2-e -t )U(t); (2) f 2(t)=e -t cos10πt×[U(t -1)-U(t-2)]。 答案 (1))(1t f 的波形如图1.1(a )所示. (2) 因t π10cos 的周期 s T 2.0102== ππ ,故)(2t f 的波形如图题1.1(b)所示. 1-2 已知各信号的波形如图题1-2所示,试写出它们各自的函数式。 答案 )1()]1()([)(1-+--=t u t u t u t t f )]1()()[1()(2----=t u t u t t f )]3()2()[2()(3----=t u t u t t f 1-3 写出图题1-3所示各信号的函数表达式。

答案 2 002121 )2(21121)2(21 )(1≤≤≤≤-?????+-=+-+=+=t t t t t t t f )2()1()()(2--+=t u t u t u t f )] 2()2([2sin )(3--+-=t u t u t t f π )3(2)2(4)1(3)1(2)2()(4-+---++-+=t u t u t u t u t u t f 1-4 画出下列各信号的波形:(1) f 1(t)=U(t 2-1); (2) f 2(t)=(t-1)U(t 2-1); (3) f 3(t)=U(t 2-5t+6); (4)f 4(t)=U(sinπt)。 答案 (1) )1()1()(1--+-=t u t u t f ,其波形如图题1.4(a)所示.

管理学院本科各专业招生宣传材料-西北工业大学管理学院

管理学院 学院简介 西北工业大学管理学院的前身为成立于1985年3月的西北工业大学管理系和成立于1984年5月的中国设备管理培训中心,于1990年12月12日两个机构合并成立西北工业大学管理学院。 学院教学科研机构设有工商管理系、经济贸易系、管理科学与工程系、信息系统系、会计系、EMBA教育中心、MBA教育中心、工程硕士教育中心、高级管理培训中心、西部国防科技工业发展研究中心、中国设备管理培训中心、国际项目管理研究院、管理实验教学中心、图书资料室以及近10个校内外实践教学基地等教学支撑体系,院党政机构有党政办公室、本科教学办公室、研究生教学、科研办公室和学生工作办公室。 学院现有管理科学与工程一级学科博士学位授权点1个,管理科学与工程博士后流动站1个,管理科学与工程、企业管理、技术经济及管理、会计学二级学科硕士学位授权点4个;专业硕士学位授权点4个—高级工商管理硕士(EMBA)、工商管理硕士(MBA)、工程硕士和高校教师;工商管理、市场营销、信息管理与信息系统、会计学、工程管理5个本科专业。学院已形成了从本科生、硕士生到博士生相对完整的多层次多学科人才培养体系。 2001年以来,学院承担和完成国家级和省部级科研项目65项,其中,国家自然科学基金13项,国家社会科学基金6项,国家软科学研究项目1项,国家863计划1项,国防基础研究项目1项,航空科学基金、教育部人文社科基金、陕西省自然科学基金、社会科学基金、软科学计划项目40多项,除此之外,市级及企业委托科研项目100余项,总经费达500多万元,获各类科学研究成果奖30多项,省级以上的教学成果有3项,公开发表学术论文800余篇,出版专著、教材50多部。 学院管理实验教学中心面向全院学生开放,实验中心面积292平方米,包括三个机房、一个主控室,现有计算机130多台和十余种教学软件。有面积为300多平方米的图书资料室,藏书近万册,订阅期刊100多种。 学院积极开展对外合作及学术交流活动,先后与英国Lancaster大学、Hull

西工大计算机操作系统实验报告OS2

评语: 成绩: 指导教师: 实验报告二 日期:2013-5-16 实验名称:构造进程家族树 理解进程的独立空间 一、实验目的: 1. 通过创建若干个子进程,构造进程家族树,分析进程家族树的结构关系;学 习相关系统调用(例如,getpid()和getppid()等)的使用方法。 2. 理解进程是操作系统独立分配资源的单位,进程拥有自己相对独立的程序空 间。 二、实验内容: 1. 进程的创建:编制一段程序,使用系统调用fork()创建三个子进程,在各个子 进程中再使用系统调用fork()进一步创建子进程,如此重复,构造一棵进程家 族树。分别使用系统调用getpid()和getppid()获取当前进程和父进程的 进程标识号并输出。 2. (1)编写一个程序,在其main()函数中定义一个变量shared,对其进行循 环加/减操作,并输出每次操作后的结果; (2)使用系统调用fork()创建子进程,观察该变量的变化; (3)修改程序把shared 变量定义到main()函数之外,重复第(2)步操作,观察该变量的变化。 三、项目要求及分析: 1.学习进程构造的相关知识,学习获取进程相关信息的系统调用函数。利用系统调用getpid()和getppid()所获得的进程标识号信息,验证是否进程间关系是否满足要求的进程家族树。 2.了解进程创建和构造的相关知识,了解C语言程序编写的相关知识。 观察进程执行结果,根据进程间的执行关系思考原因,并和线程进行比较。 四、具体实现:

4.1 流程图 1.进程家族树 Pid_1=fork() Pid_2=fork() Pid_1<0? error Pid_1==0? 输出pid 和ppid Pid_2<0? ERROR Y N Y Y Pid_2==0? Pid_2_1=fork() Pid_2_1<0? ERROR Y Y Pid_2_1==0? 输出pid 和ppid Pid_2_2=fork() N Y pid1>0?Pid_2_1>0? Pid_2_2<0? ERROR Pid_2_2==0? 输出pid 和ppid N Y Pid_2>0? Pid_3=fork() Pid_3<0? ERROR Pid_3==0? 输出pid 和ppid N N Y Y Y Y N N Y N Y 2.

西工大2015年946专业综合考试大纲

自动化学院硕士研究生录取综合考试大纲 每位考生共需做90分值题目 一(20分) 1、传感器的静动态特性、常用传感器的基本工作原理与测量电路。 2、常用非电量(常用工业量)检测的基本原理。 参考书目: (1) 郁有文等编著.《传感器原理及工程应用》(第三版).西安电子科技大学出版社. (2) 徐科军等编著.《传感器与检测技术》.电子工业出版社. (3) 陈明.《传感器原理与检测技术》.西北工业大学出版社. 二(20分) 1、微机原理:计算机基础;中断的基本概念;输入输出接口电路。 2、单片机原理及其接口技术。 (1) 中断结构与中断流程。复习要点:a) CPU对中断的处理流程,中断标志寄存器IFR、中断允许寄存器IER和中断屏蔽位INTM的作用;b) 编写中断服务程序ISR时应遵循的原则; (2) 异步串行数据通信。复习要点:a) 异步串行数据通信的数据帧格式;b) 起始位的作用,收发双方波特率差异的允许范围。 3、常用计算机及外设接口总线基本概念及构成。 参考书目: (1) 牛小兵,许爱德,王丹.《DSP控制器实用教程》.北京:国防工业出版社.2007. (2) 谢拴勤主编.《DSP控制器原理》.电子工业出版社出版.2008. 三(10分) 1、快速傅里叶变换(FFT):明确基2 DIT—FFT算法及基2 DIF—FFT算法思想、运算量及特点,掌握分解流图绘制。 2、无限冲击响应(IIR)数字滤波器设计:明确模拟滤波器的设计及双线性变换法的原理,掌握基于双线性变换的IIR数字滤波器设计。 参考书目: 高西全,丁玉美.《数字信号处理》.西安电子科技大学出版社.2008.

西北工业大学操作系统实验_OS3(5)

班级:10011007 学号:2010302541 姓名:陈一凡 实验七理解线程的相关概念 一.实验目的 理解当操作系统引入线程的概念后,进程是操作系统独立分配资源的单位,线程成为系统调度的单位,也是系统并发运行的独立单位。同一个进程中的各个线程共享进程的地址空间。 二.实验内容 (1)编写一个程序,在其main ()函数中创建一个(或多个)线程,观察该线 程是如何与主线程并发运行的。输出每次操作后的结果; (2)在main()函数外定义一个变量int shared (全局变量),在main()中创建一 个线程,在main()中和新线程shared 进行循环加/减操作,观察该变量的变化; (3)修改程序把int shared 变量定义到main ()函数之内,重复第(2)步操作, 观察该变量的变化; (4)编写一个程序,在其main ()函数中创建至少两个线程,在这些线程中分 别说明(定义)名称相同的整型变量(例如,int x ;),分别在各个线程中修改这些变量,试观察这些变量值的变化。 开始 创建主进程 设置局部变量shared Sleep 1 S 创建线程 Shared++ 输出Shared 的值 结束 开始 设置全局变量shared 创建主进程 Sleep 1 S 创建线程 Shared++ 输出Shared 的值 结束

实验八请求分页存储管理设计 一、实验目的 模拟存储管理常用的请求分页存储管理技术,通过本实验使学生更加深入的理解虚拟内存的思想和主要的页面淘汰算法。 二、实验内容 (1) 通过随机数产生一个指令行列,共320条指令,指令中的地址按下述原则生成:50%的指令是顺序执行;25%的指令均匀分布在前地址部分;25%的指令均匀分布在后地址部分。 (2) 具体实验办法是:在[0,319]之间选一起始点M;顺序执行一条指令,即第M+1条;向前地址[0,M-1]中执行一条指令M;顺序执行一条指令,即第M+1条;向后地址[M+2,319]中执行一条指令M。如此继续,直至产生320条指令。使用产生随机数的函数之前,首先要初始化设置RAN()产生序列的开始点, SRAND(400);然后计算随机数,产生指令序列。例如: a[0]=1.0*rand()/32767*319+1; a[1]=a[0]+1; a[2]=1.0*rand()/32767*(a[1]-1)+1; a[3]=a[2]+1; a[4]=319-1.0*rand()/32767*(a[3]-1);其中rand()和srand()为Linux操作系统提供的函数分别进行初始化和产生随机数,多次重复使用这5条指令,产生以后的指

凝固技术国家重点室-西北工业大学

目录 1.凝固技术国家重点实验室开放课题管理办法 2.附件一、开放课题申请书 3.附件二、开放课题任务书 4.附件三、开放课题年度进展报告 5.附件四、开放课题结题报告

开放课题管理办法 第一章总则 第一条依据国家科学技术部颁发的《国家重点实验室建设与运行管理办法》,本着"开放、流动、联合、竞争"的原则,为充分发挥并不断加强凝固技术国家重点实验室(以下简称凝固实验室)在凝固科学及相关领域的科学研究、人才培养、技术创新和学术交流等方面的优势,凝固实验室面向国内外科研人员设立开放课题。为进一步规范和加强开放课题管理,更好地服务于开放课题研究人员,促进高水平科研成果产出,培育高水平科研人才,特制定本管理办法。 第二条开放课题是实验室对外开放和合作交流的重要手段,是实验室科研工作和人才培养的重要补充,是实验室日常工作的重要组成部分。凝固实验室鼓励国内外高水平科研人员作为访问学者来实验室开展合作研究。 第三条凝固实验室开放课题主要支持涉及凝固过程的先进材料及其加工制备成形的基础研究或应用基础研究,重点支持凝固理论和技术的前沿研究,鼓励创新性或交叉学科的探索性研究。 第四条凝固实验室开放课题经费由实验室开放运行费支出,实行课题负责人制,单独核算,专款专用。 第二章申请 第五条凡具有博士学位或副教授以上职称,希望利用凝固实验室的科研条件开展研究工作的国内外科研人员,均可申请凝固实验室开放课题。对于已经获得项目资助的负责人,在项目执行期间内不受理新的项目申请;项目结题1年后,对于取得突出成果的项目负责人,可再次提交申请。实验室固定人员不得承担开放课题,但为了保障开放课题的执行和课题研究人员在实验室期间生活工作顺利,每项开放课题必须至少有一名实验室固定人员作为课题联系人。

西北工业大学-操作系统实验报告-实验五

实验五进程管理 一、实验目的 (1)加深对进程概念的理解,明确进程和程序的区别; (2)进一步认识并发执行的实质; (3)了解FreeBSD系统中进程通信的基本原理。 二、实验内容与要求 1、掌握进程的概念,明确进程的含义; 2、编写一段程序,使用系统调用fork( )创建两个子进程。当此程序运行时,在系统 中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示'a',子进程分别显示字符'b'和字符'c'。试观察记录屏幕上的显示结果(多次运行,查看结果是否有变化),并分析原因; 3、修改已编写的程序,将每个进程输出一个字符改为每个进程输出一句话,在观察程 序执行时屏幕出现的现象(多次运行,查看结果是否有变化),并分析原因; 4、如果在程序中使用调用lockf()来给每一个子进程加锁,可以实现进程之间的互 斥,观察并分析出现的现象; 5、对整个实验过程进行分析总结,给出详细步骤; 三、实验过程 1、进程的概念与含义 狭义:进程就是一段程序的执行过程。 广义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。

进程的概念主要有两点:第一,进程是一个实体。每一个进程都有它自己的地址空间,一般情况下,包括文本区域(text region)、数据区域(data region)和堆栈(stack region)。文本区域存储处理器执行的代码;数据区域存储变量和进程执行期间使用的动态分配的内存;堆栈区域存储着活动过程调用的指令和本地变量。第二,进程是一个“执行中的程序”。程序是一个没有生命的实体,只有处理器赋予程序生命时,它才能成为一个活动的实体,我们称其为进程。 进程是操作系统中最基本、重要的概念。是多道程序系统出现后,为了刻画系统内部出现的动态情况,描述系统内部各道程序的活动规律引进的一个概念,所有多道程序设计操作系统都建立在进程的基础上。 2、编写一段程序,使用系统调用fork( )创建两个子进程 源代码如下所示: #include #include #include #include main() { int p1, p2 if (p1 = fork()) // 子进程1 { printf("b\n"); exit(0); } else { if (p2 = fork()) // 子进程2 { printf("c\n"); exit(0); } else { printf("a\n"); // 父进程 exit(0); } } }

西工大操作系统实验报告如何操作使用FreeBSD

一、实验目的 了解FreeBSD,学习如何操作使用FreeBSD。 二、实验要求 1.请查阅资料,了解FreeBSD 项目的各个方面,比如它的历史、目标、开发模式; 2.学习使用FreeBSD,(账号:root;密码:无),学习使用常用命令;; 3.详细记录探索学习的内容和实验的整个过程,包括资料的查询、资料的来源(资料 名称、网址等)、所做的各种尝试、以及最终的结果(包含截屏); 4.对整个实验过程进行分析总结,给出详细步骤; 三、实验设备(环境) 1.WindowsXP操作系统 2.Vmware虚拟机 3.FreeBSD操作系统 四、实验内容与步骤 1.FreeBSD的基本知识; 1.1FreeBSD简介; FreeBSD是一种类UNIX操作系统,是由经过BSD、386BSD和4.4BSD发展而来的Unix的一个重要分支。FreeBSD 为不同架构的计算机系统提供了不同 程度的支持。并且一些原来BSD UNIX的开发者后来转到FreeBSD的开发,使得 FreeBSD在内部结构和系统API上和UNIX有很大的兼容性。由于FreeBSD宽松 的法律条款,其代码被好多其他系统借鉴包括苹果公司的macOS,正因此由于 MacOS X的UNIX兼容性,使得macOS获得了UNIX商标认证。 不同版本的FreeBSD可以支持x86、amd64(x86_64)、ARM、IA-64、PowerPC、PC-98。SPARC等架构 1.2FreeBSD历史; FreeBSD的发展始于1993年,取源于386BSD。然而,因为386BSD源代码的合理性受到质疑以及Novell(当时UNIX的版权拥有者)与伯克利接连而来的 诉讼,FreeBSD在1995年1月发布的2.0-RELEASE中以加州大学的4.4BSD-Lite Release全面改写。

西北工业大学_操作系统_实验七_

西北工业大学《操作系统》实验报告

目录 《操作系统》实验报告 (1) 一基础知识 (3) 1. 消息 (3) 2.Unix操作系统多路复用消息 (3) 二编程实现消息的创建、发送和接收 (3) 1. 编写程序 (4) 2. 编译运行 (5) 三思考题 (6) 1. 单独执行client或server 有什么结果? (6) 2. 执行一个server程序,多次执行client有什么结果? (7) 3. 消息机制与管道通信的区别 (7) 参考资料 (7)

一基础知识 1.消息 消息(message)是一个格式化的可变长的信息单元。消息机制允许由一个进程给其它任意的进程发送一个消息。当一个进程收到多个消息时,可将它们排成一个消息队列。消息使用二种重要的数据结构:一是消息首部,其中记录了一些与消息有关的信息,如消息数据的字节数;二个消息队列头表,其每一表项是作为一个消息队列的消息头,记录了消息队列的有关信息。 1、消息机制的数据结构 (1)消息首部:记录一些与消息有关的信息,如消息的类型、大小、指向消息数据区的指针、消息队列的链接指针等。 (2)消息队列头表:其每一项作为一个消息队列的消息头,记录了消息队列的有关信息如指向消息队列中第一个消息和指向最后一个消息的指针、队列中消息的数目、队列中消息数据的总字节数、队列所允许消息数据的最大字节总数,还有最近一次执行发送操作的进程标识符和时间、最近一次执行接收操作的进程标识符和时间等。 2、消息队列的描述符 UNIX中,每一个消息队列都有一个称为关键字(key)的名字,是由用户指定的;消息队列有一消息队列描述符,其作用与用户文件描述符一样,也是为了方便用户和系统对消息队列的访问 2.Unix操作系统多路复用消息 在客户-服务员模型中,一个服务员往往对应多个客户。这时我们可以利用消息的类型参量,让多个进程把消息放入同一个队列中,以便Unix消息队列能够多路复用。我们只要把type置为1,以表示消息是从客户流向服务员的。如果客户把它的进程号作为消息的一部分传递,那么服务员只要把客户进程号作为其消息类型,把它的消息发送给客户进程。每个客户进程都把msgrcv的参数msgtyp 置为其进程号。 二编程实现消息的创建、发送和接收 消息的创建、发送和接收。使用系统调用msgget( ),msgsnd( ),msgrev( ),及msgctl( )编制一长度为256Bytes的消息发送和接收的程序,将自己的进程号传递给对方,并输出至屏幕。

2021西北工业大学考研专业简章

根据教育部《西北工业大学关于选拔普通高校优秀考生进入研究生阶段学习的通知》文件精神,结合学校实际,对普通高校毕业生进入硕士阶段学习提出如下要求。 一、报考事项安排 1.每年报考我校的考生很多,要早复习,早准备。按照考试范围复习。 2.我校考生,到学校考试中心,办理内部试卷。 3.每年有很多考生,不知道考试重点范围,不知道考试大纲要求,盲目复习,浪费时间和精力,复习效果很差,影响考试。 4.每年有很多考生,选择错误的复习资料,解题思路及讲解答案都是错误的,具有误导性,不利于复习。 5.学校为考生正确复习,印刷内部试卷。 6.内部试卷:包含考试范围、历年真题、考试题库、内部复习资料。 7.专业课,学校出题。一定要按照内部试卷复习,每年都有原题出现。 8.内部试卷联系QQ363.916.816张老师。学校安排邮寄,具体事项联系张老师。 二、选拔对象条件 1.普通高校本科毕业生,主干课程成绩合格,在校学习期间未受到任何纪律处分。 2.身体健康状况符合国家和学校规定的体检要求。 三、招生专业计划 1.招生要求和专业,详见《教育部选拔普通高等学校本科毕业生进入硕士阶段学习招生及专业总表》。 2.学校计划招收全日制硕士研究生和非全日制硕士研究生,《硕士学位研究生招生专业目录》公布的拟招生人数(含推免生),实际招生人数将根据国家下达我校招生计划、各专业生源情况进行适当调整。我校部分专业将另设计划用于接收调剂生,具体事项及拟招生人数将在初试成绩公布后另行通知。 四、报名资格审核 1.报考考生按照《教育部选拔普通高等学校优秀毕业生进入研究生阶段学习专业对照及考试课程一览表》以下简称《专业对照及考试课程一览表》选择报考专业,并填写《教育部普通高等学校毕业生进入研究生阶段

西北工业大学操作系统实验_OS3(12)

实验报告三 理解线程的相关概念 实验名称: 日期:2013.5 请求分页存储管理设计 班级: 学号:2010302554 姓名:王振10011007 一、实验目的: 1. 理解线程的相关概念 理解当操作系统引入线程的概念后,进程是操作系统独立分配资源的单位,线程成为系统调度的单位,与同一个进程中的其他线程共享程序空间。 2. 请求分页存储管理设计 模拟存储管理常用的请求分页存储管理技术,通过本实验使学生更加深入的理解虚拟内存的思想和主要的页面淘汰算法。 二、实验内容: 1. 理解线程的相关概念 线程创建和构造的相关知识,了解C语言程序编写的相关知识。 2. 请求分页存储管理设计 学习虚拟存储器的相关基础知识,了解请求分页存储管理系统的原理和具体实现过程,熟悉各种主要的页面调度算法。 三、项目要求及分析: 1. 理解线程的相关概念 (1)编写一个程序,在其main()函数中创建一个(或多个)线程,观察该线 程是如何与主线程并发运行的。输出每次操作后的结果; (2)在main()函数外定义一个变量shared(全局变量),在main()中创建一个线 程,在main()中和新线程shared 进行循环加/减操作,观察该变量的变化; (3)修改程序把shared 变量定义到main()函数之内,重复第(2)步操作, 观察该变量的变化。 2. 请求分页存储管理设计 (1) 通过随机数产生一个指令行列,共320条指令,指令中的地址按下述原则生 成:50%的指令是顺序执行;25%的指令均匀分布在前地址部分;25%的指令 均匀分布在后地址部分。 (2) 具体实验办法是:在[0,319]之间选一起始点M;顺序执行一条指令,即第 M+1条;向前地址[0,M-1]中执行一条指令M;顺序执行一条指令,即第M+1

西北工业大学英语专业考研经验

我去年跟大家一样迷茫,困惑,就想着如果我能顺利考上,就在这里把自己的经历和你复习心得写出来,供大家参考。还好一切已经尘埃落定了…… 已经有几个学妹问过我了,问的问题其实大都差不多,所以我就在这里一次回答完了,也省的大家一个一个问。 时间关系,我可能不能一次写完,也有可能有的问题想不到,大家可以问了我再回答。 西工大英语专业参考书大家应该自己去学校网站上面看,我就不说了。我说一下他的问题所在。 1.关于基础英语 这门课说实话我可能没有什么资格谈心得,因为我这门课算是考的最不好的。当然,相比之下,也是我付出的最少的。几乎是裸考了。 学校给出的几本参考书大家都可以不买,不看,意义不大。还有一本写作的书可能根本买不到。这一科我觉得是比较难准备的,因为他考得题型很灵活,我回忆一下,去年考的有词汇题,写作题,还有什么暂时想不起来了,以后回忆起来再告诉大家。因为我当时看到题目愣在考场上了,所以,脑子比较迟钝了…… 我想说的是,词汇题比较难准备,大家最好就不要花太多心思了吧,分值只有十分(不知道今年会不会变)。而且他考的单词相当偏,10个单词我就认识一个,所以这一部分大家不用担心,因为一般情况下,大家都不会。 关于写作,现在也不用怎么准备,我个人觉得是这样的。我是考前一个月才准备的,就是一天写一篇文章,根据专八的辅导书来练习的,顺便也可以练习专八了。字数专八要求是400,我就写400左右,时间差不多给自己设定40分钟。这部分也是比较灵活的,基础差的同学可能要早点开始准备了,如果基础还不错,就不用紧张了。一个学妹问我用张汉熙的书还是李观仪的,我真的很不好意思,我没有用过他们的书,所以我也不知道。不过,我还是觉得,在这一门科目上面用的时间不用太多,重点放在文学和语言学上面。 这一科先说这么多,有问题可以问,我看到会尽快回复大家的。 2.文学和语言学 这一科是我付出最多的了,看到分数时心里真是百感交集啊。我之所以说大家把精力放在这一刻是觉得,对于这两门课来说,你只要付出就会有回报的。 考试形式是两科合在一起150分。 参考书呢,就根据学校的要求,王守仁和陶洁的那两本文学选读。要说的是语言学,学校规定是胡壮麟的第七版,这是个漏洞,大家不要被迷惑了。没有第七版,就看第三版就行了。第二版貌似也很难买到了。戴伟栋那本我没怎么看,大家看自己吧,有时间可以看一些的。

西北工业大学-操作系统实验报告-实验四

实验四进程与线程 一、实验目的 (1)理解进程的独立空间; (2)理解线程的相关概念。 二、实验内容与要求 1、查阅资料,掌握进程创建和构造的相关知识和线程创建和构造的相关知识,了解C 语言程序编写的相关知识; 2、理解进程的独立空间的实验内容及步骤 (1)编写一个程序,在其 main()函数中定义一个变量 shared,对其进行循环加/减操作,并输出每次操作后的结果; (2)使用系统调用 fork()创建子进程,观察该变量的变化; (3)修改程序把 shared变量定义到 main()函数之外,重复第(2)步操作,观察该变量的变化。 3、理解线程的实验步骤 (1)编写一个程序,在其 main()函数中创建一个(或多个)线程,观察该线程是如何与主线程并发运行的。输出每次操作后的结果; (2)在 main()函数外定义一个变量shared(全局变量),在main()中创建一个线程,在 main()中和新线程shared进行循环加/减操作,观察该变量的变化; (3)修改程序把shared变量定义到 main()函数之内,重复第(2)步操作,观察该变量的变化。 4、对整个实验过程进行分析总结,给出详细步骤; (1) 观察上述进程执行结果,并分析原因;

(2) 提交源程序清单,并附加流程图与注释。 三、实验过程 1、进程的与线程的创建和构造 (1).进程的创建和构造 进程简单来说就是在操作系统中运行的程序,它是操作系统资源管理的最小单位。但是进程是一个动态的实体,它是程序的一次执行过程。进程和程序的区别在于:进程是动态的,程序是静态的,进程是运行中的程序,而程序是一些保存在硬盘上的可执行代码。 新的进程通过克隆旧的程序(当前进程)而建立。fork() 和 clone()(对于线程)系统调用可用来建立新的进程。 (2)线程的创建和构造 线程也称做轻量级进程。就像进程一样,线程在程序中是独立的、并发的执行路径,每个线程有它自己的堆栈、自己的程序计数器和自己的局部变量。但是,与独立的进程相比,进程中的线程之间的独立程度要小。它们共享内存、文件句柄和其他每个进程应有的状态。 线程的出现也并不是为了取代进程,而是对进程的功能作了扩展。进程可以支持多个线程,它们看似同时执行,但相互之间并不同步。一个进程中的多个线程共享相同的内存地址空间,这就意味着它们可以访问相同的变量和对象,而且它们从同一堆中分配对象。尽管这让线程之间共享信息变得更容易,但你必须小心,确保它们不会妨碍同一进程里的其他线程。 线程与进程相似,是一段完成某个特定功能的代码,是程序中单个顺序的流控制,但与进程不同的是,同类的多个线程是共享同一块内存空间和一组系统资源的,而线程本身的数据通常只有微处理器的寄存器数据,以及一个供程序执行时使用的堆栈。所以系统在产生一个线程,或者在各个线程之间切换时,负担要比进程小得多,正因如此,线程也被称为轻型进程(light-weight process)。一个进程中可以包含多个线程。 2、理解进程的独立空间 流程图如下所示:

相关文档
相关文档 最新文档