武汉大学操作系统大作业_2

武汉大学操作系统大作业_2
武汉大学操作系统大作业_2

Fork、Pthread实验报告

一、学习目标

1.学习fork函数和pthread函数的使用,阅读源码,分析两个函数的机理。

2.在系统中创建一个三层次父子进程树,并具有两层次线程,并打印运行中各个执行体的处理器使用、内存使用等基本信息。

二、基本原理

1、fork函数

fork函数的函数原型是pid_t fork( void)。fork()函数的响应函数是 sys_fork()、sys_clone()、sys_vfork()。这三个函数都是通过调用内核函数 do_fork() 来实现的。

使用do_fork()函数创建一个进程大致分为如下几个过程:

(1)向系统申请在内存中分配一个 task_struct 数据结构,即进程控制块PCB,

do_fork()中通过使用alloc_task_struct()实现。task_struct是LINUX内核用以管理进程的结构体,它包含了进程状态、PID、内核栈等等执行进程所必须要的资源。

(2)对PCB进行初始化操作。通过执行*p=*curren,将父进程(当前进程)的PCB内容拷贝到新进程中去,重新设置 task_struct 结构中那些与父进程值不同的数据成员,为进程分配标志号。根据参数中传入的 clone_flags 参数值,决定是否要拷贝父进程

task_struct 中的指针 fs 、files 指针等所选择的部分。

(3)将新进程加入到进程链表中去,并拷贝父进程的上下文来初始化子进程上下文。启动调度程序,通过wake_up_process(p)唤醒子进程,并放入就绪队列当中。父进程返回子进程的PID,子进程返回0。

通过do_fork()函数以及示例代码运行结果,可以了解到fork()函数的如下特点:

(1)fork函数返回值Pid_t 是在头文件sys/types.h中定义的宏,在调用fork后会返回两个值,如果是子进程则返回值为0,如果是父进程则返回值大于0(为子进程的PID),如果创建进程失败则返回值小于0。

(2)通过fork函数创建的新进程是对父进程的复制,子进程的所有数据(变量、环境变量、程序计数器等)数值都和原进程一致。通过示例代码1.1可以看见父、子进程最后执行结果中count的值都是1,这是因为子进程拷贝的是父进程当前的状态, count为0,执行了‘++’操作变为1。

(3)父进程和子进程的概念是相对的,如运行结果1.2所示,p722是p719的子进程,也是p724的父进程。父进程和子进程的执行顺序是不一定的,这依赖于系统调度。子进程和父进程的可执行程序是同一个程序、上下文和数据,绝大部分就是原进程(父进程)的拷贝,但它们是两个相互独立的进程,fork()以后,子进程就相当于父进程的兄弟一样了。

(4)在运行结果1.1中可以看见子进程输出时父进程的ID为1,这是因为在子进程执行printf语句的时候,父进程已经结束了,对于没有父进程的子进程系统会将其父进程置为init(PID为1)进程。

代码示例1.1

运行结果1.1

示例代码1.2

运行结果1.2

【注】代码示例1.1运行结果如运行结果1.1所示,示例代码1.2运行结果如运行结果1.2所示。

2、pthread函数

Pthread中定义了一系列线程操作函数、同步互斥函数,此次主要学习了

pthread_create()、pthread_join()、pthread_exit()函数。

(1)pthread_create()函数用于线程创建,第一个参数pthread_t *thread用于存储创建成功的线程的ID。第二个参数const pthread_attr_t * attr 用于给定线程属性,置为NULL则使用默认属性。

pthread_create()源代码中,新进程的参数、信息均被打包到request结构中,再通过__libc_write(__pthread_manager_request, (char *) &request, sizeof(request)),将请求写入全局变量__pthread_manager_request,最后由__pthread_manager()函数创建并管理线程。

(2)pthread_join()函数用于挂起线程,第一个参数pthread_t thread,用于指定次需要等待结束的线程,当thread指定的线程没有终止,将导致调用线程挂起,直到由参数thread指定的线程终止。最后一个参数void**status是通过pthread_exit()函数传递进来的,如作业代码中主线程要等待线程1结束,而线程1要等待线程2结束。

(3)pthread_exit()函数用于结束线程,参数status将子线程的结束状态传递给主线程。主线程可以在pthread_join()成功返回后获得子线程的结束状态,并根据不同的结束状态做不同的处理。

通过运行示例代码可以发现线程的一些特点:

(1)子线程的创建顺序与子线程执行顺序是不一致,子线程的执行顺序是随机的,依赖于操作系统的调度。如运行结果2.1.1和2.1.2所示,两个子线程执行顺序是随机的。

(2)示例代码2.1中,线程1线程2对number都有写操作,所以在修改number值的时候要进行加锁和解锁的操作,避免出现结果不唯一结果。如果去掉互斥锁,可以看见如运行结果2.1.2所示number值出现了错误。

(3)线程没有独立的存储空间,同一进程下的线程共享存储空间,所以在运行结果2.1.1中我们看到number的结果是逐渐累加的,在作业代码运行结果中也可以看到线程1、2与创建他们的进程共用一个内存地址,且PID均为父进程的PID。其实,线程有各自的线程ID,可以通过pthread_self()获得。

示例代码2.1两个子线程

运行结果2.1.1

运行结果2.1.2

【注】代码示例2.1运行结果如运行结果2.1.1和2.1.2所示。

三、实验结果

1、代码及运行结果截图

作业代码 3.1.1 第一次fork

作业代码 3.1.2 第二次fork

作业代码 3.1.3 子线程定义

运行结果3.1

2、心得体会

通过此次学习,我对进程、线程的概念有了进一步的认识,初步了解了fork、pthread 的原理以及使用方法,但是此次实验仍有不足的地方。

(1)相关知识不足,在看fork和pthread源代码的时候有很多不明白的地方,尤其是pthread部分。

(2)对部分代码的运行结果不能很好的理解。

(3)代码中没有实现打印处理器使用、内存使用等基本信息。

四、附件

//源代码

// Created by Yi Mingli on 16/4/1.

// Copyright (c) 2016年 Yi Mingli. All rights reserved.

#include

#include

#include

#include

#include

#define THREAD_NUM 2

pthread_t threads[THREAD_NUM]; //线程返回数组

pthread_mutex_t mut;

int number=0;

void *thread2()

{

printf("I am thread2,my PID is %d,and my id is %lu

(0x%x)\n",getpid(),pthread_self(),getpid());

pthread_exit(NULL);

return NULL;

}

void *thread1()

{

printf("I am thread1,my PID is %d,and my id is %lu

(0x%x)\n",getpid(),pthread_self(),getpid());

int sthread=pthread_create(&threads[1], NULL, (void*)thread2, NULL); //创建线程2

if (sthread)

{

printf("error in thread2!\n");

}

if (threads[1]!=0) {

pthread_join(threads[1], NULL);

printf("thread2 is over!\n");

}

pthread_exit(NULL);

return NULL;

}

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

pid_t fpid=fork(); //创建第一个子进程

if (fpid<0)

{

printf("error in fork 1!\n");

} //进程创建失败

else if (fpid==0) //子进程

{

printf("I am process2,my father process is %d,my id is %d,and the value of fpid is %d (0x%x)\n",getppid(),getpid(),fpid,getpid());

pid_t sfpid=fork(); //创建第二个进程

if (sfpid<0)

{

printf("error in fork 2!\n");

}

else if(sfpid==0)

{

printf("I am process3,my father process is %d,my id is %d,and the value of fpid is %d (0x%x)\n",getppid(),getpid(),sfpid,getpid());

int* arg=malloc(sizeof(int));

*arg=getpid();

int fthread=pthread_create(&threads[0], NULL, (void*)thread1, NULL); if (fthread)

{

printf("error in thread1!\n");

}

if(threads[0]!=0) {

pthread_join(threads[0], NULL);

printf("thread1 is over!\n");

}

}

else

{

printf("I am process2,my father process is %d,my id is %d,and the value of fpid is %d (0x%x)\n",getppid(),getpid(),sfpid,getpid());

}

}

else

{

printf("I am process1,my father process is %d,my id is %d,and the value of fpid is %d (0x%x)\n",getppid(),getpid(),fpid,getpid());

}

return 0;

}

武汉大学第五次操作系统实验

编号: 武汉大学计算机学院 课程实验(设计)报告 专业(班):2014级计算机科学与技术4班 学号:2014301500385 姓名:颜子琦 课程名称:操作系统设计 任课教师: 2016年12月18日 实习题目:模拟页面地址重定位

实习内容及设计思想: 1、设计思路: 1、定义逻辑地址,物理地址,页表,页长,进程大小等数据结构 2、提示并接受用户输入页长,进程大小,逻辑地址 3、根据输入的进程大小得到进程所需块数,加上逻辑地址的页号,检查是否超出 页表范围,若是重新输入 4、搜索页表将页号转换为物理块号,左移页长后加上页内偏移地址得到物理地址2、主要数据结构: 1、逻辑地址logadd 2、物理地址寄存器phyadd 3、页表pagelength[16][2]={{0,13},{1,7},{2,11},{3,8},{4,0},{5,12},{6,3},{7,9},{8,5}, {9,2},{10,15},{11,4},{12,10},{13,6},{14,1},{15,14}}; 4、页长pagelength 5、进程大小process 3、主要代码结构及代码段分析: phyadd=logadd%pagelength;//页内偏移拷贝到物理地址寄存器 if(process/pagelength+1+logadd/pagelength>15){//若超过页表范围 //logadd/pagelength为页号,process/pagelength+1为进程需要分配的块数 printf("页数超过页表表项数,请重新输入!\n"); main(); return; } for(i=0;i<16;i++) if(pagetable[i][0]==logadd/pagelength){//在页表中找到该页号 phyadd+=pagetable[i][1]*pagelength;//物理地址寄存器加上物理块号左移页长得到物理地址 break; } 上机实习所用平台及相关软件:windows10、codeblocks

武汉大学计算机操作系统考试试卷

计算机操作系统精选模拟试题及答案 1.操作系统的发展过程是(C) A、原始操作系统,管理程序,操作系统 B、原始操作系统,操作系统,管理程序 C、管理程序,原始操作系统,操作系统 D、管理程序,操作系统,原始操作系统 2.用户程序中的输入、输出操作实际上是由(B)完成。 A、程序设计语言 B、操作系统 C、编译系统 D、标准库程序 3.进程调度的对象和任务分别是(C)。 A、作业,从就绪队列中按一定的调度策略选择一个进程占用CPU B、进程,从后备作业队列中按调度策略选择一个作业占用CPU C、进程,从就绪队列中按一定的调度策略选择一个进程占用CPU D、作业,从后备作业队列中调度策略选择一个作业占用CPU 4.支持程序浮动的地址转换机制是(A、动态重定位) A、动态重定位 B、段式地址转换 C、页式地址转换 D、静态重定位 5.在可变分区存储管理中,最优适应分配算法要求对空闲区表项按(C)进行排列。 A、地址从大到小 B、地址从小到大 C、尺寸从小到大 D、尺寸从大到小 6.设计批处理多道系统时,首先要考虑的是(系统效率和吞吐量)。 A、灵活性和可适应性 B、系统效率和吞吐量 C、交互性和响应时间 D、实时性和可靠性 7.当进程因时间片用完而让出处理机时,该进程应转变为(B)状态。 A、等待 B、就绪 C、运行 D、完成 8.文件的保密是指防止文件被(C)。 A、篡改 B、破坏 C、窃取 D、删除 9.若系统中有五个并发进程涉及某个相同的变量A,则变量A的相关临界区是由(D)临界区构成。 A、2个 B、3个 C、4个 D、5个 10.按逻辑结构划分,文件主要有两类:(记录式文件)和流式文件。 A、记录式文件 B、网状文件 C、索引文件 D、流式文件 11.UNIX中的文件系统采用(、流式文件)。 A、网状文件 B、记录式文件 C、索引文件 D、流式文件 12.文件系统的主要目的是(A)。 A、实现对文件的按名存取 B、实现虚拟存贮器 C、提高外围设备的输入输出速度 D、用于存贮系统文档 13.文件系统中用( D )管理文件。 A、堆栈结构 B、指针 C、页表 D、目录 14.为了允许不同用户的文件具有相同的文件名,通常在文件系统中采用(B)。 A、重名翻译 B、多级目录 C、约定 D、文件名 15.在多进程的并发系统中,肯定不会因竞争(C)而产生死锁。 A、打印机 B、磁带机 C、CPU D、磁盘 16.一种既有利于短小作业又兼顾到长作业的作业调度算法是(C)。

武汉大学DSP试卷及答案

DSP试卷1 一.填空题(本题总分12分,每空1分) 1.TMS320VC5402型DSP的内部采用条位的多总线结构。2.TMS329VC5402型DSP有个辅助工作寄存器。 3.在链接器命令文件中,PAGE 1通常指________存储空间。 4.TI公司DSP处理器的软件开发环境是__________________。 5.直接寻址中从页指针的位置可以偏移寻址个单元。 6.TMS320C54x系列DSP处理器上电复位后,程序从指定存储地址________单元开始工作。7.MS320C54X DSP主机接口HPI是________位并行口。 型DSP处理器的内核供电电压________伏。 9. C54x系列DSP上电复位后的工作频率是由片外3个管脚;;来决定的。 二.判断题(本题总分10分,每小题1分,正确打“√”,错误打“×”) 1.DSP 处理器TMS320VC5402的供电电压为5V。()2.TMS320VC5402型DSP内部有8K字的ROM,用于存放自举引导程序、u律和A律扩展表、sin函数表以及中断向量表。()3.MEMORY伪指令用来指定链接器将输入段组合成输出段方式,以及输出段在存储器中的位置。() 4. DSP的流水线冲突产生的原因是由于DSP运行速度还不够快。()5.DSP和MCU属于软件可编程微处理器,用软件实现数据处理;而不带CPU软核的FPGA 属于硬件可编程器件,用硬件实现数据处理。() 6. C54x系列DSP的CPU寄存器及片内外设寄存器映射在数据存储空间的0000h-0080h中。 ()7. TMS320C54X 系列DSP可以通过设置OVLY位实现数据存储空间和程序存储空间共享片内ROM。() 8. TMS320VC5402型DSP汇编指令READA的寻址范围为64K字。() 9. 在TMS320VC5402型DSP所有中断向量中,只有硬件复位向量不能被重定位,即硬件复位向量总是指向程序空间的0FF80H位置。() 10. C54x系列DSP只有两个通用的I/O引脚。()三.程序阅读题(本题总分30分,每小题10分) 1. 阅读下面的程序,回答问题。 .bss x, 8 LD #0001H,16,B STM #7,BRC STM #x,AR4 RPTB next-1 ADD *AR4,16,B,A STH A,*AR4+ next: LD #0,B 问题:(1)寄存器“BRC”的功能是什么? (2)汇编语句“ADD *AR4,16,B,A”执行了多少次? (3)执行语句“LD #0001H,16,B”后,累加器B的内容是多少?

武汉大学操作系统试卷B

武汉大学计算机学院 《操作系统》考试试卷(B) (注:所有解答必须写在答题纸上,写在试卷上的无效) 一、选择题:(20*1分=20分) ()1.设有4个进程共享一程序段,而每次最多允许两个进程进入该程序段,则信号量的取值范围是_____ 。 A.[-3,2] B.[-2,2] C.[-3,1] D.[-2,1] ()2.下列的进程状态变化中,_____变化是不可能发生的。 A. 运行→就绪 B. 运行→等待 C. 等待→运行 D. 等待→就绪 ()3.作业调度程序是从处于状态的作业中选取一个作业并把它装入主存。 A.输入 B.收容 C.执行 D.完成 ()4.处理器执行的指令被分成两类,其中有一类称为特权指令,它只允许使用。 A.操作系统 B.联机用户 C.操作员 D.目标程序 ()5. 操作系统在控制和管理进程过程中,涉及到这一重要数据结构,这是进程存在的唯一标志。 A.FCB B. DCT C.JCB D. PCB ()6.一种既有利于短小作业又兼顾到长作业的作业调度算法是。 A.先来先服务 B.轮转 C.最高响应比优先 D.均衡调度 ()7.进程所请求的一次打印输出结束后,将使进程状态从。 A.运行态变为就绪态 B.运行态变为等待态 C.就绪态变为运行态 D.等待态变为就绪态 ()8.进程间的同步与互斥,分别表示了各进程间的。 A.相互独立与相互制约 B.协调与竞争 C.不同状态 D.动态性与独立性 ()9.通常不采用方法来解除死锁。 A.终止一个死锁进程 B.终止所有

死锁进程 C.从死锁进程处抢夺资源 D.从非死锁进程处抢夺资源 ()10.若系统中有五台绘图仪,有多个进程均需要使用两台,规定每个进程一次仅允许申请一台,则至多允许个进程参于竞争,而不会发生死锁。 A、2 B、3 C、4 D、5 ()11.分页式存储管理中,地址转换工作是由完成的。 A. 硬件 B. 地址转换程序 C. 用户程序 D. 装入程序 ()12.在多进程的并发系统中,肯定不会因竞争而产生死锁。 A.打印机 B.扫描仪 C.绘图仪 D.CPU ()13.采用动态重定位方式装入的作业,在执行中允许将其移动。 A. 用户有条件地 B. 用户无条件地 C. 操作系统有条件地 D. 操作系统无条件地 ()14.进程P1使用资源情况:申请资源S1,申请资源S2,释放资源S1,释放资源S2;进程P2使用资源情况:申请资源S2,申请资源S1,释放资源S2,释放资源S1,系统并发执行进程P1,P2,系统将()。 A.必定产生死锁 B. 可能产生死锁 C.不会产生死锁 D. 都不对 ()15.引入索引节点的目的是为了。 A.记录文件的描述信息 B.保存文件内容 C.实现文件保护 D.提高按名检索的速度 ()16.请求分页存储管理中,若把页面尺寸增加一倍,在程序顺序执行时,则一般缺页中断次数会。 A.增加 B.减少 C.不变 D.以上答案都不对 ()17. 设备的打开、关闭、读、写等操作是由完成的。 A.用户程序B.编译程序 C.设备分配程序D.设备驱动程序 ()18.对磁盘进行移臂调度的目的是为了缩短时间。 A.寻道 B.延迟 C.传送 D.启动 ()19.不是Unix系统的特色。 A.交互的分时系统 B.以全局变量为中

武汉大学操作系统试卷C

一、选择题:(20*1分=20分) ()1.不是基本的操作系统。 A. 批处理操作系统 B. 分时操作系统 C. 实时操作系统 D. 网络操作系统 ()2.下列的进程状态变化中,变化是不可能发生的。 A. 运行→就绪 B. 运行→等待 C. 等待→运行 D. 等待→就绪 ()3.进程的并发执行是指若干个进程。 A. 同时执行 B. 在执行的时间上是重叠的 C. 在执行的时间上是不可重叠的 D. 共享系统资源 ()4.设有n个进程共享一程序段,而每次最多允许m(m

武汉大学数据库例题及解答

【例4.3 】创建大学教学管理数据库,数据库名为JXGL,其主数据文件逻辑名称为JXGL_ data,数据文件的操作系统文件名称为JXGL.mdf,数据文件初始大小为5 MB,最大值为200 MB,以5%的增量增加。日志逻辑文件名称为JXGL_log,日志的操作系统文件名称为JXGL.ldf,日志文件初始大小为5 MB,可按2 MB增量增加,最大值为50 MB。 CREATE DATABASE JXGL ON ( NAME = JXGL_data, //默认为主数据文件 FILENAME = '''+ @data_path + 'JXGL.mdf'', SIZE = 5, MAXSIZE = 200, FILEGROWTH = 5% ) LOG ON ( NAME = JXGL_log, FILENAME = '''+ @data_path + 'JXGL.ldf'', SIZE = 5MB, MAXSIZE = 50MB, FILEGROWTH = 2MB ) 【例】创建test数据库,包含一个主文件组和两个次文件组。 CREATE DATABASE test ON PRIMARY /*定义在主文件组上的文件*/ ( NAME=pri_file1, FILENAME=' C:\Program Files\Microsoft SQL Server\ MSSQL\Data \pri_file1.mdf ', SIZE=10,MAXSIZE=50,FILEGROWTH=15%), ( NAME=pri_file2, FILENAME=' C:\Program Files\Microsoft SQL Server\MSSQL\Data \pri_file2.ndf ', SIZE=10,MAXSIZE=50,FILEGROWTH=15%), FILEGROUP Grp1 /*定义在次文件组Grp1上的文件*/ ( NAME=Grp1_file1, FILENAME=' C:\Program Files\Microsoft SQL Server \MSSQL\Data \ Grp1_file1.ndf ', SIZE=10,MAXSIZE = 50,FILEGROWTH=5), FILEGROUP Grp2 /*定义在次文件组Grp2上的文件*/ ( NAME = Grp2_file1, FILENAME=' C:\Program Files\Microsoft SQL Server\MSSQL\Data \ Grp2_file1.ndf ', SIZE=10,MAXSIZE=50,FILEGROWTH=5), LOG ON /*定义事务日志文件*/ ( NAME='test_log', FILENAME=' C:\Program Files\Microsoft SQL Server\MSSQL\Data \test_log.ldf ', SIZE=5,MAXSIZE=25,FILEGROWTH=5 ) GO 例:在原有数据库的基础上增加一个文件组date1,添加一个新文件并加入到文件组date1中ALTER DATABASE stuDB

计算机操作系统习题答案武汉大学出版社

第一章操作系统概论 1.单项选择题 ⑴B; ⑵B; ⑶C; ⑷B; ⑸C; ⑹B; ⑺B;⑻D;⑼A;⑽B; 2.填空题 ⑴操作系统是计算机系统中的一个最基本的系统软件,它管理和控制计算机系统中的各种系统资源; ⑵如果一个操作系统兼有批处理、分时和实时操作系统三者或其中两者的功能,这样的操作系统称为多功能(元)操作系统; ⑶没有配置任何软件的计算机称为裸机; ⑷在主机控制下进行的输入/输出操作称为联机操作; ⑸如果操作系统具有很强交互性,可同时供多个用户使用,系统响应比较及时,则属于分时操作系统类型;如果OS可靠,响应及时但仅有简单的交互能力,则属于实时操作系统类型;如果OS在用户递交作业后,不提供交互能力,它所追求的是计算机资源的高利用率,大吞吐量和作业流程的自动化,则属于批处理操作系统类型; ⑹操作系统的基本特征是:并发、共享、虚拟和不确定性; ⑺实时操作系统按应用的不同分为过程控制和信息处理两种; ⑻在单处理机系统中,多道程序运行的特点是多道、宏观上并行和微观上串行。

第二章进程与线程 1.单项选择题 ⑴B;⑵B;⑶ A C B D; ⑷C; ⑸C; ⑹D; ⑺C; ⑻A; ⑼C; ⑽B; ⑾D; ⑿A; ⒀D; ⒁C; ⒂A; 2.填空题 ⑴进程的基本状态有执行、就绪和等待(睡眠、阻塞); ⑵进程的基本特征是动态性、并发性、独立性、异步性及结构性; ⑶进程由控制块(PCB)、程序、数据三部分组成,其中PCB是进程存在的唯一标志。而程序部分也可以为其他进程共享; ⑷进程是一个程序对某个数据集的一次执行; ⑸程序并发执行与顺序执行时相比产生了一些新特征,分别是间断性、失去封闭性和不可再现性; ⑹设系统中有n(n>2)个进程,且当前不在执行进程调度程序,试考虑下述4种情况: ①没有运行进程,有2个就绪进程,n个进程处于等待状态; ②有一个运行进程,没有就绪进程,n-1个进程处于等待状态; ③有1个运行进程,有1个等待进程,n-2个进程处于等待状态; ④有1个运行进程,n-1个就绪进程,没有进程处于等待状态; 上述情况中不可能发生的情况是①; ⑺在操作系统中引入线程的主要目的是进一步开发和利用程序内部的并行性;

武汉大学通识选修课选课攻略

程名称 学分 类别领域 上课地点 点名情况 课堂作业情况 教师授课评价 结课考核方式 给分 情况 备注 科学技术史 2 数自 三区 无 无 较好 开卷考试 较容易 90+ 可能要买 书,人较多 急救医学 1 数自 三区 不点名 无 老师讲的不错,各有所专 中间有操作测试,期末闭卷 较高 地下空间开发与利用 1 数自 一区 变相点名 有课堂作业三次 死板不过老师好人 开卷考试还要加一篇论文 较高 就是讲地 下的地铁 啊,地下 停车场啊一些基本介绍, 比较无趣 数字影视特效技术基础 1 数自 三区 从不点名 实验报告+作品(可不做) 1老师一般 2还好 3放教学视频, 老师几乎不讲 1论文 2交作品和报告 1、一般 2、高 比较专业,枯燥 数字媒体技术基础 1 数自 三区 签到两次 1次当堂作业 1老师一般2还好 自选内容,论文手写 较高 1不难 2枯燥 数字图像处理技巧 1 数自 三区 1经常点名 2两次 1没有作业 2作业有 点多 1还不错 ,课时不多,大多数讲PS 2有点专业,很认真 1没有考试,最后自己在课程 中心下载作业, 提交给老师就 行,都是PS 作业 2有很多平时作业和最后的大作业 较高 很好过 图形图像软件应用 2 数自 3区 一般 报告 很好 软件开发理论与实践 2 数自 一区 无 无 很好 论文 较高 信息安全概论 1 数自 三区 点名3次吧 有作业,需要有 一定基 老师很好 开卷,带电脑 较高 如果想学 这方面的东西的话

础推荐一 下,老师 是会讲很 多很实用 的东西 (不过能 不能学会 又要另当 别论了), 如果只是 想混学分 不推荐 网络信息检索1 数自三区不点名无讲的挺好试卷带回,两个 礼拜后交 较高特别好过 网络信息资源检索与利用2 2 数自二区图 书馆 偶尔签 到 大概有 三次 还好开卷考试可带 电脑 一 般, 结合 平时 成绩 给分 是一门很 有实际用 途的课, 当初是听 学长推荐 去上的 信息检索 2 数自三区不点名有一次 作业挺好开卷考试,平时 听听应该不难 一般挺有用 的,但是 要认真听 恶意病毒分析与防范1 数自三区连点两 次,一次 到可 有一个 论文 老师很好开卷,带电脑较高课程与我 们学习的 计算机基 础与C语 言紧密相 连,难度 适中。老 师讲课过 程注重实 践,以具 体实例与 操作向大 家演示如 何防范病 毒,从中 获益良 多。老师 比较风趣 幽默,通

2007操作系统试卷A

武汉大学计算机学院 2007——2008学年第一学期2005级 《操作系统》考试试卷(A) (注:所有解答必须写在答题纸上,写在试卷上的无效) 一.单项选择题(20*1分=20分) ()1.不是基本的操作系统。 A. 批处理操作系统 B. 分时操作系统 C. 实时操作系统 D. 网络操作系统 ()2.下列的进程状态变化中,变化是不可能发生的。 A. 运行→就绪 B. 运行→等待 C. 等待→运行 D. 等待→就绪 ()3.进程的并发执行是指若干个进程。 A. 同一时刻执行 B. 同一时间段内向前推进 C. 推进的时间不可重叠的 D. 共享系统资源 ()4.设有n个进程共享一程序段,而每次最多允许m(m

操作系统的发展趋势

福建农林大学计算机与信息学院 课程设计报告 课程名称:操作系统 实习题目:操作系统的发展趋势探讨 姓名:叶忠辉 系:计算机 专业:计算机科学与技术 年级:2012级 学号:3126010007 指导教师:翁宜慧 职称:副教授 2015年7月1日

福建农林大学计算机与信息学院计算机类 课程设计结果评定

目录 1选题课程设计的目的 (4) 2 本选题课程设计的要求 (4) 正文 (4) 前言 (4) 1 开源化 (4) 2 专用化 (5) 3 小型化或微型化 (5) 4 便携化 (5) 5 网络化 (5) 6 安全化或可信化 (5) 总结 (5) 参考文献 (6)

操作系统的发展趋势探讨 1 选题课程设计的目的 探讨操作系统的发展趋势。课程设计将课本上的理论知识和实际有机的结合起来,锻炼学生的分析系统,解决实际问题的能力。提高学生分析系统、实践编程的能力。 2 本选题课程设计的要求 利用学到的操作系统和编程知识,完成具有一定难度的系统分析研究或系统设计题目。其中:专题系统理论研究应包括研究目的、目标,论点和论据以及证明推导等;分析、设计系统应包括编写、调试程序以及最后写出设计报告或系统说明文档文件,系统说明文档包括系统界面、变量说明、系统功能说明、编程算法或思路、流程图和完整程序。 正文 前言 随着计算机技术和网络技术的普及,在通用主流操作系统仍然占据比较大的市场份额的基础上,未来一些操作系统将逐步向专用化和小型化等方面发展,并具备如下新特点: 1 开源化 随着微软公司与诺维尔(Novel l)公司在Linux上的结盟以及升阳启动OpenSolaris项目,开源软件模式及其实现的价值越来越得到社会的认可。开源改变了未来操作系统的开发模式,使得聚集大家的力量打破组织边界、持续创造出更高质量、更安全和更易用的操作系统成为可能。另外,更重要的是它改变了操作系统的使用方式——从“使用许可”为主的商业模式变成以支持和咨询等面向服务为主的商业模式,在全球向服务经济转型的过程中扮演着日益重要的角色。从本质上讲,开源操作系统的开发模式和许可机制更加适合于面向服务的商业模型,其利润核心并不是纯软件开发或者是任何形式的软件产品,而是软件服务。因此,未来以开源Linux等为代表的操作系统,包括FreeBSD22、NetBSD23、OpenBSD24和OpenSolaris25等,将不断占领更大的市场空间。目前,全球市场上人气很旺的苹果公司的iPhone手机产品就是利用开源操作系统的典型代表。

武汉大学计算机操作系统考试试卷

计算机操作系统精选模拟试题及答案 1. 操作系统的发展过程是( C ) A、原始操作系统,管理程序,操作系统 B、原始操作系统,操作系统,管理程序 C管理程序,原始操作系统,操作系统 D、管理程序,操作系统,原始操作系统 2. 用户程序中的输入、输出操作实际上是由( B )完成。 A、程序设计语言 B、操作系统 C编译系统D、标准库程序 3. 进程调度的对象和任务分别是( C )。 A、作业,从就绪队列中按一定的调度策略选择一个进程占用CPU B、进程,从后备作业队列中按调度策略选择一个作业占用CPU C进程,从就绪队列中按一定的调度策略选择一个进程占用CPU D、作业,从后备作业队列中调度策略选择一个作业占用CPU 4?支持程序浮动的地址转换机制是(A、动态重定位) A、动态重定位 B、段式地址转换 C页式地址转换D、静态重定位 5. 在可变分区存储管理中,最优适应分配算法要求对空闲区表项按( C )进行排列。 A、地址从大到小 B、地址从小到大 C尺寸从小到大D、尺寸从大到小 6. 设计批处理多道系统时,首先要考虑的是(系统效率和吞吐量)。 A、灵活性和可适应性 B、系统效率和吞吐量 C交互性和响应时间D、实时性和可靠性 7. 当进程因时间片用完而让出处理机时,该进程应转变为( B )状态。 A、等待 B、就绪 C、运行 D完成

1/ 8

8. 文件的保密是指防止文件被( C )。 A、篡改 B、破坏 C、窃取 D删除 9?若系统中有五个并发进程涉及某个相同的变量A,则变量A的相关临界区是由(D ) 临界区构成。 A、 2 个 B、 3 个 C、 4个 D、 5 个 10. 按逻辑结构划分,文件主要有两类:(记录式文件)和流式文件。 A、记录式文件 B、网状文件 C、索引文件 D、流式文件 11. UNIX中的文件系统采用(、流式文件)。 A、网状文件 B、记录式文件 C、索引文件 D、流式文件 12. 文件系统的主要目的是( A )。 A、实现对文件的按名存取 B、实现虚拟存贮器 C提高外围设备的输入输出速度D、用于存贮系统文档 13. 文件系统中用( D )管理文件。 A、堆栈结构 B、指针 C页表 D、目录 14. 为了允许不同用户的文件具有相同的文件名,通常在文件系统中采用( B )。 A、重名翻译 B、多级目录 C、约定 D、文件名 15. 在多进程的并发系统中,肯定不会因竞争( C )而产生死锁。 A、打印机 B、磁带机 C CPU D、磁盘 16. 一种既有利于短小作业又兼顾到长作业的作业调度算法是( C )。 A、先来先服务 B、轮转 C、最高响应比优先 D、均衡调度 17. 两个进程合作完成一个任务。在并发执行中,一个进程要等待其合作伙伴发来消息, 或者建立某个条件后再向前执行,这种制约性合作关系被称为进程的( B )。 A、互斥 B、同步C调度 D、伙伴 18. 当每类资源只有一个个体时,下列说法中不正确的是( C )。 A、有环必死锁 B、死锁必有环 C有环不一定死锁D、被锁者一定全在环中

武大数据库原理试题

武汉大学计算机学院 2002—2003 学年度第一学期 2000级 A卷 《数据库原理》期末考试试卷 班级专业姓名学号成绩 一.填空题(每小题2分,共10分) 1.关系模型的三种完整性约束为。 2.数据库中常用的数据模型有、、、。 3. 数据库的三级模式结构是指; 提供的两个独立性是指。 4.SQL的集合处理方式与宿主语言单记录处理方式之间通过进行协调。 5.数据库恢复的基本原理是。 二.单项选择题(每小题1分,共10分) ( ) 1. 通常所说的数据库系统(DBS)、数据库管理系统(DBMS)、和数据库(DB)三者之间的关系是: A. DBMS包含DB和DBS B. DB包含DBS和DBMS C. DBS包含DB和DBMS D.三者无关 ( ) 2. 数据库三级模式体系结构的划分,有利于保持数据库的 A. 数据独立性 B. 数据安全性 C. 结构规范化 D. 操作可行性 ( ) 3.设关系R和S的属性个数为2和3,那么R S与下列等价。 2>1 A. σ2>1(R S) B. σ2>3(R S) C. σ2>1(R S) D. σ1>2(R S) ( ) 4. 关系数据库系统进行的处理,是为了提高效率。

A.视图定义 B.最高范式的规范化 C.可串性化 D.查询优化 ( ) 5. SQL中,谓词EXISTS用来测试一个结果集合是否 A. 为非空集合 B. 有两行相同 C. 行都不相同 D. 属性值均为空值 ( ) 6. SQL和宿主语言的接口是: A. DBMS B. OS C. DML D. 主变量 ( ) 7. 已知关系模式R={A,B,C,D,E},函数依赖集为{A→D,B→C,E→A},则该关系模式的候选码是: A.AB B. BE C.CD D. DE ()8. 事务的原子性是指 A.事务中包括的所有操作要么都做,要么都不做 B.事务一旦提交,对数据库的改变是永久的 C. 一个事务内部的操作及使用的数据对并发的其他事务是隔离的 D.事务必须是使数据库从一个一致性状态变到另一个一致性状态()9. 下面哪种不属于数据库安全技术 A.存取控制 B.视图 C.镜像 D.审计 ()10. 在关系模式R(C,S,Z)中,有函数依赖集F={(C,S)→Z,Z→C},则R能达到 A. 1NF B. 2NF C. 3NF D. BCNF 三.判断改错题(每小题2分,共10分) ()1.在关系数据库中,用户只能通过基本关系操作数据库中的数据。 ()2. 若关系模式R中的属性全部是主属性,则R必定是BCNF。 ()3. 若事务T1对数据对象A上了IS锁,则事务T2不能对数据对象A上SIX锁。()4. 规范化过程中,关系的分解不是唯一的。 ()5. 查询优化时,尽可能先做笛卡尔积。 四.简答题(每小题5分,共20分) 1、数据库设计的几个阶段及其主要任务是什么?

考研-操作系统基础知识归纳和总结

考研基础知识总结 ●什么是操作系统?它有什么基本特征?(哈工大2000年试题) 【解答】 操作系统:操作系统是计算机系统中的一个系统软件。它是一些程序模块的集合,这些程序模块管理和控制计算机中的硬件和软件资源,合理地组织计算机工作流程,以便有效地利用这些资源为用户提供一个功能强、使用方便的工作环境,从而在用户及计算机之间起到接口的作用。 操作系统的基本特征是并行性、共享性、不确定性。 ●判断:操作系统程序都是在核心态下才能运行。(大连理工大学2000年试题) 【分析】 操作系统是一组控制和管理计算机硬件和软件资源、合理地对各类作业进行调度以及方便用户的程序的集合。操作系统提供的服务,一部分必须在核心态下才能运行,如进程调度、目录服务等。还有一些功能,如DOS下的外部命令,则可以由用户调用,运行在用户态下。 【解答】 错误。 ●批处理系统的主要缺点是:(清华大学1996年试题) A.CPU利用率低。 B.不能并发执行。 C.缺少交互性。D.以上都不是。 【解答】 选择C。 ●填空:多道运行的特征之一是宏观上并行,它的含义是()。(华中科技大学2000年试题) 【分析】 多道运行的特征是多道性、宏观上并行、微观上串行。多道性是指计算机主存中同时存放几道相互独立的程序。宏观上并行是指同时进入系统的几道程序都处于运行过程中,即它们先后开始了各自的运行,但都未运行完毕。微观上串行是指主存中的多道程序轮流或分时地占有处理机交替执行。 【解答】 并发程序都已经开始执行,但都未结束。 ●判断:在分时系统中,响应时间≈时间片×用户数,因此为改善响应时间,常用的原则是使时间片越小越好。(东南大学1996年试题) 【分析】 时间片越小,进程切换所用的开销就相对越大。因此时间片不是越小越好,一般使用户键入的常用命令能在一个时间片内处理完毕即可。 【解答】 错误。 ●实时系统应具备的两个基本特性是()和()。(北京理工大学2000年试题) 【分析】 实时系统是顺应实时控制和实时信息处理的需要而产生的。所谓"实时"是表示"及时"、"即时",而实时系统是指系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。实时系统的应用领域决定了它的特性是:①具有实时时钟管理功能; ②能进行过载保护;③高可靠性。 【解答】 及时性高可靠性 ●实时信息处理是实时应用的一种,例如()和()都是实时信息处理的例子。(华中科技大学20 00年试题) 【解答】 飞机订票系统、图书资料查询系统 ●现代操作系统的基本功能是管理计算机系统的硬件、软件资源,这些管理工作分为A管理、B管理

操作系统发展过程

操作系统发展过程 摘要:随着计算机的问世,操作系统也逐渐进入发展起来。操作系统(OS,Operating System)是配置在计算机硬件上的第一层软件。它是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度以及方便用户的程序集合。现在社会,操作系统发展迅速,逐步进入了社会生活的各个方面, 涉及大型计算机、个人计算机、移动便携设备、其他自动化设备等各个层次的应用领域。 本文主要以计算机操作系统的发展过程为核心地位同时对它的技术变革作出了分析,同时对算机操作系统的功能,发展和分类做了简单的分析和阐述。 关键词:操作系统发展优点问题 引言 操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。它在计算机系统中占据了特别重要的地位;而其他的诸如汇编程序、编译程序、数据库管理系统等系统软件,以及大量的应用软件,都将依赖于操作系统的支持,取得它的服务。操作系统已经成为现代计算机系统(大、中、小及微型机)、多处理系统、计算机网络、多媒体系统以及嵌入式系统中都必须配置的、最重要的系统软件。 1.操作系统的基本介绍 1.1操作系统的目标 1、有效性:提高系统资源利用率,配置了OS之后,可使CPU、I/O设备由于能 保持忙碌状态而得到有效的利用,且,可使内存和外存中存放的数据因有序而节省了存储空间;提高系统的吞吐量,操作系统还可以通过合理地组织计算机的工作流程,而进一步改善资源的利用率,加速程序的运行,缩短程序的运行周期,从而提高系统的吞吐量。 2、方便性:在未配置OS的计算机系统是极难使用的,因为计算机硬件只能识别0、1 这样的机器代码。配置了操作系统,用户便可通过OS提供的各种命令来使用计算机。 3、可扩充性:操作系统能提供硬件升级,用户新需要,能纠错的功能。 4、开放性:系统能遵循世界标准,均能彼此兼容,可方便的实现互连。 1.2操作系统的作用 1、作为计算机硬件系统之间的接口,用户可通过命令方式,系统调用方式,图形、窗 口方式来使用计算机。 2、作为计算机系统资源的管理者,处理机管理:用于分配和控制处理机;存储器管理: 主要负责内存的分配与回收;I/O设备管理:负责I/O设备的分配与操纵;文件管理:负责文件的存取、共享和保护。 3、实现了对计算机资源的抽象,OS是铺设在计算机硬件上的多层系统软件,它们不仅 增强了系统的功能,而且还隐藏了对硬件操作的细节。 2.操作系统的发展 操作系统之本意原为提供简单的工作排序能力,后为辅助更新更复杂的硬件设施而渐渐演化。从最早的批次模式开始,分时机制也随之出现,在多处理器时代来临时,操作系统也随之添加多处理器协调功能,甚至是分布式系统的协调功能。其他方面的演变也类似于此。另一方面,在个人电脑上,个人电脑之操作系统因袭大型电脑的成长之路,在硬件越来越复杂、强大时,也逐步实践以往只

计算机操作系统论文.

操 作 系 统 发 展 过 程 论 文 操作系统的发展 摘要:现在社会,操作系统进入了社会生活的各个方面, 涉及大型计算机、个人计算机、移动便携设备、其他自动化设备等各个层次的应用领域。操作系统(Operating System,简称OS)是计算机系统的重要组成部分,是一个重要的系统软件,它负责管理计算机系统的硬、软件资源和整个计算机的工作流程,协调系统部件之间,系统与用户之间、用户与用户之间的关系。电子计算机诞生以来, 计算机操作系统的研究取得了长足进展。在几十年的发展历程中, 各种操作系统应运而生,面对外国商业软件在中国的事实垄断, 重新审视中国基础软件发展战略、配套政策和实施方法已经到了刻不容缓的地步。

本文主要以计算机操作系统的发展过程为核心地位同时对它的技术变革作出了分析,同时对算机操作系统的功能,发展和分类做了简单的分析和阐述。 关键词:操作系统发展现状问题新技术 引言 操作系统是控制其他程序运行,管理系统资源并为用户提供操作界面的系统软件的集合。操作系统身负诸如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统是管理计算机系统的全部硬件资源包括软件资源及数据资源;控制程序运行;改善人机界面;为其它应用软件提供支持等,使计算机系统所有资源最大限度地发挥作用,为用户提供方便的、有效的、友善的服务界面。 操作系统是管理计算机系统的全部硬件资源包括软件资源及数据资源;控制程序运行;改善人机界面;为其它应用软件提供支持等,使计算机系统所有资源最大限度地发挥作用,为用户提供方便的、有效的、友善的服务界面。操作系统是一管理电脑硬件与软件资源的程序,同时也是计算机系统的内核与基石。操作系统身负诸如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。 目录 (一)、操作系统的简单介绍 (二)、操作系统的发展 (三)、操作系统新技术 (四)、操作系统发展现状 (五)、结语 (一)、操作系统的基本介绍 操作系统的功能:

【专业指导】2019武汉大学计算机考研参考书目、分数线等等备考指南

【专业指导】2019武汉大学计算机考研参考书目、分数线等等备考指南 一、考研分数线 以下是2017年武汉大学考研分数线: 二、考研科目 1、英语 2、政治 3、数学 4、计算机专业综合基础——含数据结构、计算机组成原理、计算机操作系统、计算机网络 5、考试目标 计算机学科专业基础综合考试涵盖数据结构、计算机组成原理、操作系统和计算机网络等学科专业基础课程。要求考生比较系统地掌握上述专业基础课程的基本概念、基本原理和基本方法,能够综合运用所学的基本原理和基本方法分析、判断和解决有关理论问题和实际问题。 三、考研参考书 1)数据结构 1.教材:数据结构(C语言版)(附光盘)严蔚敏清华大学出版社 2.辅导书:算法与数据结构考研试题精析(第2版) 2)计算机组成原理 1.教材:《计算机组成原理(第2版)》唐朔飞高等教育出版社 《计算机组成原理(第四版立体化教材)》白中英科学出版社

2.辅导书:《计算机组成原理:学习指导与习题解答》唐朔飞高等教育出版社 3)操作系统 1.教材:《计算机操作系统(第三版)》汤小丹、汤子瀛西安电子科技大学出版社 2.辅导书:《操作系统学习指导和考试指导》李善平浙江大学出版社 4)计算机网络 1.教材:《计算机网络(第5版)》谢希仁电子工业出版社 四、计算机专业就业分析 从业方向 计算机系统结构:适合于从事计算机网络、嵌入式技术、高性能计算、网络信息安全与多媒体信息处理等领域的工作。很多跨国公司和国内知名大型企业,如Microsoft、IBM、HP、AMD、Intel、Oracle、SAP、华为等公司对该专业人才的需求量都较大。 计算机软件与理论:计算机软件与理论可选择的就业方向很多,只要是计算机有关的工作基本都可以很快上手。可谓软硬通吃。 计算机应用技术:对于本专业的毕业生来说拥有较好的创新能力和编程开发能力是非常重要的,不妨可以选择一下人才稀缺的行业,不仅可以避免激烈的就业竞争,薪酬也较为客观。 就业前景 人才结构呈两头小中间大的橄榄型结构,即软件高端人才,包括系统分析师、项目技术主管等,和低端人才,如软件编码程序员等从事基础性软件开发的人员都严重短缺,而中级(端)人才过剩。 客观来说,高等教育在计算机专业传统的教育理论型、研究型人才培养上有较大的优势,但在应用型人才的培养上存在层次单一,教学内容滞后,理论与实

武汉大学高级操作系统试题

高级操作系统试题 1、验证Lamport’s Algorithm算法的正确性,即该算法是否能保证 (1)在任何时刻,最多只有一个进程位于临界段(安全性); (2)若位于临界段的进程在有限时间内退出临界段,则其他请求进入临界段的进程总能进入(可用性); Lamport算法利用前述的事件定序方案统一定序所有对临界段的请求,按先来先服务的原则让请求临界资源的进程进入其临界段,进/出临界段1次需要3×(n-1)条消息。Lamport 算法基本假定如下: (1)进程Pi发送的请求消息形如request(Ti , i),其中Ti = Ci是进程Pi发送此消息时对应的逻辑时钟值,i代表消息内容。 (2)每个进程保持一个请求队列,队列中的请求消息根据==>关系定序,队列初始为空。 Lamport算法描述: (1)、当进程Pi请求资源时,它把请求消息request(Ti,i)排在自己的请求队列中,同时也把该消息发送给系统中的其他进程; (2)、当进程Pj接收到外来消息request(Ti,i)后,发送回答消息reply(Tj , j),并把request(Ti , i)放入自己的请求队列。 (3)、当下面两个条件都成立时,Pi才允许进入临界段: A.Pi自身请求访问该资源的消息已处于请求队列的最前面; B. Pi已收到从所有其 他进程发来的回答消息,这些回答消息的时间戳均晚于(Ti, i). (4)、当退出临界段时,进程Pi从自己的队列中撤销请求消息,并发送一个打上时间戳的释放消息release给其他进程; (5)、当进程Pj收到Pi的release消息后,它撤销自己队列中的原Pi的request(Ti , i)消息。 不难证明该算法是正确的,因为:由(3)-B及消息是按其发送的次序接收的假定,就保证了进程Pi已经知道先于它的当前请求的所有请求。由于用关系==>定序了所有的请求消息,因此在任何情况下,(3)-A允许一个且只一个进程进入临界段。当Pi退出临界段释放临界资源后,根据其他请求消息的时序关系,总可以找到一个Ps,使它满足(3)的两个条件,从而进入进入临界段。下面是实现该算法的伪代码: Process Pi: Begin: Send request(Ti,i) to Pj,(j≠i); enqueue(Qi,request(Ti,i)); for(j=1;j<=n;j++) Recieve reply(Tj,j); If(queuehead(Qi)==request(Ti,i) && Ti Enter CS; dequeue(Qi,request(Ti,i)); Send release(Ti,i) to Pj,(j≠i); End Process Pj: Begin: Recieve request(Ti,i) enqueue(Qj,request(Ti,i)); Send reply(Tj,j) to Pi; Waiting; Recieve release(Ti,i); dequeue(Qj,request(Ti,i)); End 2、请求驱动式令牌传递方法中,若Pi发出request消息后久未获得token,该怎么处理?若引入时戳,该算法应做何修改?

相关文档
最新文档