文档库 最新最全的文档下载
当前位置:文档库 › 作业3-线程实现加减乘除

作业3-线程实现加减乘除

作业3-线程实现加减乘除
作业3-线程实现加减乘除

电子科技大学

作业报告

学生姓名:学号:指导教师:

学生E-mail:

一、作业名称

线程实现加减乘除服务

二、作业要求

试验要求:

使用多个队列,每一个计算线程有独立的队列用于存储计算请求,请求线程可用一个队列用于接收结果。

只需要实现A(+,-,X,/)B简单两元计算

请求线程与计算线程是多对多关系

三、设计与实现

3.1设计方案

根据试验要求,线程间的通信用队列,所以通信结构就不用考虑了,提到队列,我们就要做初始化队列,朝队列里面添加信息,从队列头部取走信息这些工作,但是在队列的操作中,最重要的就是线程的同步问题了,我选择了一个互斥锁和一个条件变量相结合的方法,互斥锁保证对队列的任何操作必须唯一,条件变量使我们可以放心的等待队列有内容,接着我们就需要选择我们的整体结构了。

最开始,我考虑用一个队列,发送线程把计算式结构体放到这个队列里面,这个计算式结构体里面包括接收线程的ID号,每个接收线程轮流去读取队列,但是只能读取接受进程是自己的结构体,然后再把这些结果都返回给主线程,主

线程对这个计算式进行打印到屏幕,但是这个模型有一定的限制,那就是接受计算线程个数每次去取得互斥锁,并准备去取计算式,发现这个结构体里面的接受线程不是自己,不得不释放互斥锁,轮流这样做,这样的效率会比较低。

由于计算类型是确定的,经过综合考虑,我觉得还是初始化四个发送队列,每个计算线程(加,减,乘,除)各对应一个队列,发送线程会根据自己产生的计算式类型,把这个结构体放入对应的队列中,这样接收线程在队列不空的情况下,就可以去取,并且保证可以取到,同时初始化四个回传队列,计算线程计算完毕后,把结果回传个产生这个计算式的线程。这样虽然会占有一定的空间,但是对于充足的内存,空间换时间的做法还是可以选择的。

在最后选择进程结束时,我考虑的是计算线程不能退出,因为暂时队列为空,不代表没有了该类型的计算式,但是还要保证最后整个线程正常退出,只能让所有的发送线程在接收到各自全部的计算式后返回主线程,这样主线程根据返回的发送线程的个数来判断是否结束整个进程。

另外发送线程的个数以及每个发送线程发送多少个计算式作业,都是用宏定义定义的,只要改变这两个值就可以修改线程的个数和现成的作业数,我这里主要的思想还是想把加减乘除与0,1,2,3对应起来,这样可以保证四个发送队列的类型与加减乘除匹配起来,并且计算线程id数组的下标刚好也用0,1,2,3与加减乘除对应,这样可以简单好理解。

结构图1

这里只是大体的模型,下面会详细说明中间的细节。

3.2模块分析

根据我自己的代码分析,我大概分了初始化队列,队尾插入,对头移除,计算式产生,计算,输出这六个模块,模块图如下:

模块图2

3.3流程介绍

从主程序开始,首先主线程初始化发送队列,发送队列主要分为四种类型,加法发送队列,减法发送队列,乘法发送队列,除法发送队列,接着会初始化N 个回传队列,这个N的个数与发送线程的个数保持一致,都有代码开始的宏定义定义,然后根据宏定义N产生N个子线程,开始发送子线程的工作,同时也要产生四个计算子线程,分别对应于加法计算,减法计算,乘法计算,除法计算,他们从对应的发送队列中取出要计算的计算式,并把他们计算出来,再根据这个计算式是由哪个发送线程产生的,把计算结果回送给那个发送进程,发送进程把这个计算式打印出来,并返回主线程,主线程当所有发送线程都返回时,就退出

这个进程,到此为止,主进程结束,先画出大概的流程图,在详细画出发送线程和计算线程各自的流程图。

主线程的流程图3

对于发送线程,首先通过一个函数产生两个一定范围的随机数,并产生一个加减乘除的符号,并判断当符号为除号时,除数是否为零,若为零,则重新产生两个数字作为除数与被除数,然后根据运算符号把自己产生的计算式结构体插入在相对应队列的尾部,插入的过程需要保证取得互斥锁,这样可以保证线程的同步,当自己产生JNUM个作业后,这些发送线程就要在属于自己的回传队列上等待接受计算过的计算式,并打印到屏幕,当线程接收到自己发送的所有计算作业后,就要返回到主线程。

发送线程的流程图4

对于计算线程,由于我这里各个计算线程要执行的函数是同一个函数,所以这些计算线程开始要确定自己线程id在线程id数组中的下标,下标0,1,2,3分别对应于加,减乘,除,如果一个线程对应的下标是0,则表示这个线程要执行加法计算,并根据这个下标,去发送队列中取出一个计算作业,这是不仅要取得队列的互斥锁,而且还要等待条件变量,这个条件变量只是为了保证这个队列不空,才能使计算线程能成功取得该作业,取得一个作业后,进行相应的计算,然后把该计算结果放到发送线程对应的回传队列中,就这样一直循环,知道主线程退出,它就自动退出了。

计算线程的流程图5

结合这三个流程图,可以对大概思路有个了解。

3.4关键代码分析

上面说到一些大体的思路,但是中间的一些实现细节这里会详细分析,首先先介绍下,这个实验用的数据结构以及一些关键的变量定义。

#define ADD 0

#define SUB 1

#define MUL 2

#define DIV 3

做这些工作主要想让代码更容易理解,在本代码中把0,1,2,3与加减乘除对应起来,包括发送队列在队列数组中的下标与计算线程id在线程id数组的下标,都是与计算符号相对应的。

#define PNUM 3

#define JNUM 3

PNUM定义了发送线程的个数,JNUM可以改变每个发送线程要产生的计算作业个数,我们可以修改这两个值来动态的进行测试。最终的作业总数是两者的成绩。

struct job{

int a;

int b;

int op;

int res;

int pno;

struct job * next;

struct job * prev;

};

这个定义了队列上的节点结构a和b是两个运算数字,op是一个0到3的数字,代表加减乘除算法,res是计算线程计算过结果之后把计算结果存在该变量中,并会传给发送线程,pno标记的是与发送线程对应的回传队列的下标,计算线程正是靠这个变量来寻找到某个计算式的发送线程的,并把它放入对应的回传队列中。next和prex是该节点前一个节点和后一个节点的地址,通过他们构成链队列。

struct queue{

struct job * head;

struct job * tail;

pthread_mutex_t lock;

pthread_cond_t ready;

};

这个是对队列的声明,其中head和tail是队列的对头和队尾指针,lock是一个互斥锁,所有对队列的操作都要先获得这个互斥锁,否则不能进行,ready 是一个条件变量,一个线程去取计算结构体,就要等到这个条件符合,这个条件变量保证队列不为空时,线程才可以去取结构体。

pthread_t ptid[PNUM],ctid[4];

struct queue *qlist[4];

struct queue *qrelist[PNUM];

ptid这个数组是产生发送线程时,存储他们的线程id,同样,ctid这个数组是产生计算线程时,存储他们的线程id,qlist[4]是四个发送队列,每个发送线程产生计算式后,都会根据计算符合把计算式放入到这四个队列中的某一个上,qrelist[PNUM]这PNUM个队列就是要说的回传队列,这个是与发送线程个数相同的,每个发送线程对应于一个回传队列。

void init_queue(struct queue **qlist,int num)

qlist[i]->head=NULL;

qlist[i]->tail=NULL;

pthread_mutex_init(&qlist[i]->lock,NULL)

pthread_cond_init(&qlist[i]->ready,NULL)

这个初始化队列的函数需要动态申请queue结构体空间,并初始化队列结构体中的head和tail,以及初始化队列中的互斥锁,和条件变量。

struct job * produce(int selfnum)

这个函数主要是用来产生随机的计算式,它产生两个随机数和一个随机的计算符号,并初始化计算式结构体的其他变量,并且可以确保除号的除数不为零。部分代码如下:

while(1)

{

srand((unsigned)time(0)*(ran));

if(i==0)

{

p_job->op=rand()%4;

i++;

ran++;

}

else if(i==1)

{

p_job->a=rand()%1000;

i++;

ran++;

}

else

{

p_job->b=rand()%1000;

if(p_job->b==0 && p_job->op==DIV)

i=1;

i++;

ran++;

}

if(i==3)

break;

}

如上代码显示,当i等于0时产生计算符号,当i等于1时,产生第一个数字,当i等于2时,产生第二个数字,当i等于3时,结束。

void job_append(struct queue *pq,struct job * pj)

这个函数主要用于朝队尾添加计算式,要考虑队列为空时添加和队列有元素时添加,其中主要就是要取得队列的互斥锁,才能添加。另外就是如果本身队列为空,添加一个元素成功时,就要对阻塞在条件变量上的线程执行唤醒操作。

pthread_mutex_lock(&(pq->lock));

pj->next=NULL;

pj->prev=pq->tail;

if(pq->tail!=NULL)

pq->tail->next=pj;

else

pq->head=pj;

pq->tail=pj;

pthread_mutex_unlock(&(pq->lock));

if(prestatus==NULL && pq->head!=NULL)

pthread_cond_broadcast(&pq->ready);

这其实就是在平常队列添加操作的基础上添加了条件变量和互斥锁。

void show(struct job * pj)

这个是发送进程接收到回传的计算式时,需要执行该函数打印到屏幕上。

void compute(struct job * pj)

这个函数是计算线程要调用的一个函数,他根据计算符号主要完成计算任务,把计算结果保存到计算式结构体中。

void * pthfun(void *arg)

这个是发送线程要执行的代码部分,其中

pthread_t self=pthread_self();

for(i=0;i

{

if(pthread_equal(ptid[i],self)!=0)

break;

}

主要是来确定自己发送线程id所在线程id数组中的下标,把这个下标记录在计算式结构体里面,用于计算线程计算过之后,把它放到以这个下标的回传队列中。

for(i=0;i

{

p_job=job_remove(qrelist[selfnum]);

show(p_job);

}

这个代码主要用于发送线程接受回传的计算式,并打印到屏幕上,如果接受完了自己产生的所有计算式就要返回主线程了。

void * cthfun(void * arg)

这个函数是计算线程要执行的代码,他主要就是去取数据并计算,然后放回各自发送线程的队列里。

pthread_t self=pthread_self();

for(i=0;i<4;i++)

{

if(pthread_equal(ctid[i],self)!=0)

break;

}

这个主要是接受线程要确定去哪个发送队列里取数据。

while(pq->head==NULL)

{

pthread_cond_wait(&pq->ready,&pq->lock);

}

这里是计算线程要去取数据时,防止阻塞的线程返回时,又有其他线程使这个条件失效。

3.5异常情况设计

异常情况在代码中其实需要考虑的很多,基本上每个关键的代码都可能出现异常,这是就要检测这些异常,并做出处理。

if((qlist[i]=malloc(sizeof(struct queue)))==NULL)

{

printf("malloc qlist[%d] error\n",i);

exit(0);//

}

在malloc时,如果失败就要打印出失败信息,并退出整个进程。

if((err=pthread_mutex_init(&qlist[i]->lock,NULL))!=0)

{

strerror(err);

free(qlist[i]);

exit(0);//

}

if((err=pthread_cond_init(&qlist[i]->ready,NULL))!=0)

{

strerror(err);

free(qlist[i]);

exit(0);

}

这部分的代码主要是为了保证互斥锁和条件变量的初始化,如果初始化失败就会返回错误码,并显示错误码对应的信息,同时也需要释放已申请的队列。

if((err=(pthread_create(&ptid[i],NULL,pthfun,NULL)))!=0)

{

strerror(err);

exit(0);//

}

if((err=(pthread_create(&ctid[i],NULL,cthfun,NULL)))!=0)

{

strerror(err);

exit(0);

}

err=pthread_join(ptid[i],NULL);

if(err!=0)

{

strerror(err);

exit(0);

}

这三小段代码也主要是在创建发送线程,创建接受线程,和主线程等待发送线程结束时防止出现的错误。

四、测试

对于性能分析,空间复杂度主要是队列的定义,以及计算式结构体的定义,由于该代码中产生了八个队列的定义,还有JNUM*PNUM个计算式结构体的定义,每个结构体大小是固定的,我感觉空间复杂度应该是O(JNUM*PNUM*sizeof(job)+8*sizeof(queue)),而时间复杂度主要是O(n),当PNUM等于3,JNUM也等于3时,测试结果如下图:

当PNUM等于3,JNUM等于50时,也就是说产生150个计算式时,执行的时间测试结果如下图:

我们修改PNUM等于5,JNUM等于30时,结果如下:

同样我们修改PNUM等于10,JNUM等于20时,结果如下:

同样我们修改PNUM等于20,JNUM等于50时,结果如下:

五、对本课程或本作业的建议和意见

这次作业给我的启发挺大的,他主要第一点是练习了线程,以及线程之间的通信,另一个点就是练习了线程同步,用了互斥锁和条件变量,之前的话没有动手写过这些线程同步,只是理论上知道,这次仔细看了APUE这本书,虽然琐碎,但是收获真心很大,再加上这个实验练手。

另外段老师讲的也是非常的棒,主要讲一些原理机制,只有把这些原理机制弄懂,写代码时候才能更有把握,就算解决bug时,也是用处很大,一点点根据原理来分析,错误也找的快一点。

Java语言程序设计Java线程作业

选择题: 1、(3分)下列说法中错误的一项是() A、线程创建之后,可以从一个线程组转移到另一个线程组 B、新建的线程默认情况下属于其父线程所属的线程组 C、Java中的第一个线程都属于某个线程组 D、线程只能在其创建时设置所属的线程组 2、(3分)下列说法中错误的一项是() A、线程是一个程序的单个执行流 B、多线程是指一个程序的多个执行流 C、线程就是程序 D、多线程用于实现并发 3、(3分)下列说法中错误的一项是() A、java的线程体由Thread类的run()方法定义 B、java中每一个线程都有自己的名字 C、在程序中通过调用Thread类的run()方法创建线程对象 D、线程创建时已经确定了提供线程体的对象 4、(3分)在以下哪种情况下,线程进入就绪状态?() A、线程调用了notify()方法时 B、线程调用了sleep()方法时 C、线程调用了yield()方法时 D、线程调用了join()方法时 5、(3分)下列说法中错误的一项是() A、所有的对共享数据的访问都是临界区 B、临界区必须使用syschronized标识 C、共享数据的访问不一定全部使用synchronized加锁 D、共享数据的所有访问都必须使用synchronized加锁 6、(3分)下列有关线程的叙述中正确的一项是() A、使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行 B、当一个线程因为抢占机制而停止运行时,它被放在可运行队列的前面 C、一旦一个线程被创建,它就立即开始运行

D、一个线程可能因为不同的原因而终止并进入终止状态 7、(3分)下列关于Thread类提供的线程控制方法的说法中,错误的一项是() A、在线程A中执行线程B的join()方法,则线程A等待直到B执行完成 B、currentThread()方法返回当前线程的引用 C、若线程A调用方法isAlive()返回值为true,则说明A正在执行中 D、线程A通过调用interrupt()方法来中断其阻塞状态 8、(3分)下列哪个方法可以使线程从运行状态进入其他阻塞状态() A、start B、wait C、sleep D、yield 9、(3分) 线程调用sleep()方法后,该线程将进入以下哪种状态?() A、死亡状态 B、阻塞状态 C、就绪状态 D、运行状态 10、(3分)Thread类位于下列那个包中?() A、java.io B、java.awt C、java.util D、https://www.wendangku.net/doc/055133196.html,ng 11、(3分)下列说法中错误的一项是() A、新建的线程调用start()方法就能立即进入运行状态 B、线程操作的数据来自Runnable实例 C、线程从传递给Runnable实例run()方法开始执行

第二章进程管理答案

第二章进程管理 一、单项选择题 1、顺序程序和并发程序的执行相比,()。 A.基本相同 B. 有点不同 C.并发程序执行总体上执行时间快 D.顺序程序执行总体上执行时间快 2、在单一处理机上,将执行时间有重叠的几个程序称为()。 A.顺序程序 B. 多道程序 C.并发程序 D. 并行程序 3、进程和程序的本质区别是()。 A.存储在内存和外存 B.顺序和非顺序执行机器指令 C.分时使用和独占使用计算机资源 D.动态和静态特征 4、在下列特性中,不是进程的特性的是()。 A. 异步性 B. 并发性 C. 静态性 D. 动态性 5 A 6 A. 7 A. 8 A. 9 A. 10 A. 11 A. 12。 A. 13 A. 14 A. 15 A. 16、在操作系统中,对信号量S的P原语操作定义中,使进程进入相应阻塞队列等待的条件是()。 A. S>0 B. S=0 C. S<0 D. S≠0 17、信号量S的初值为8,在S上执行了10次P操作,6次V操作后,S的值为()。 A.10 B.8 C.6 D.4 18、在进程通信中,使用信箱方式交换信息的是()。 A.低级通信B.高级通信C.共享存储器通信D.管道通信 19.( )必定会引起进程切换。A.一个进程被创建后进入就绪态B.一个进程从运行态变成等待态c.一个进程从运行态变成就绪态 D.一个进程从等待态变成就绪态 20、操作系统使用( )机制使计算机系统能实现进程并发执行,保证系统正常工作。 A.中断B.查询c.同步D互斥 21.对于一个单处理器系统来说,允许若干进程同时执行,轮流占用处理器.称它们为()的。 A.顺序执行 B.同时执行c.并行执行D.并发执行

操作系统考研资料:第二章用户界面习题

实用文档用心整理 第二章用户接口 一、选择题(全做) 1.操作系统提供给程序员的接口是() A进程B系统调用C库函数D系统调用和库函数 2.用户在程序中试图读某文件的第100个逻辑块,使用操作系统的 ()接口 A系统调用B图形用户接口C原语D键盘命令 3.用户要在程序一级获得系统帮助,必须通过()。 A.进程调度 B.作业调度 C.键盘命令 D .系统调用 4.用户的应用程序和应用系统是通过()提供的支持和服务来使用系统资源完成其操作的。 A点击鼠标B键盘命令C系统调用D图形用户界面 5.用户可以通过()两种方式来使用计算机。 A命令方式和函数方式B命令方式和系统调用方式

实用文档用心整理 1^1 C命令方式和文件管理方式D设备管理方式和系统调用方式 6.系统调用的目的是()。 A.请求系统服务 B.终止系统服务 C.申请系统资源 D.释放系统资源 7.系统调用是由操作系统提供的内部调用,它()。 A.直接通过键盘交互方式使用 B.只能通过用户程序间接使用 C.是命令接口中的命令使用 D.与系统的命令一样 8.操作系统内核与用户程序、应用程序之间的接口是()。 A. shell命令 B.图形界面 C.系统调用 D. C语言函数 9.当CPU执行操作系统代码时,称处理机处于()。 A执行态B目态C管态D就绪态 10.为了便于用户直接或间接地控制自己的作业,操作系统向用户提 供了命令接口,该接口又可进一步分为()。 2

A联机用户接口和脱机用户接口B程序接口和图形接口 C联机用户接口和程序接口D脱机用户接口和图形接口 二、填空题 1.用户在一次解题或一个事务处理过程中要求计算机系统所做工作 的集合称为________ 。 2.所谓系统调用,就是用户在程序中调用 _____ 所提供的一些子功能。 三、简答题 1.脱机命令接口和联机命令接口有什么不同? 2.处理机为什么要区分核心态和用户态两种操作方式?什么情况下进行两种方式的转换? 3.简述系统调用与函数调用有什么相同和不同点。 4.区别概念:操作命令与系统调用 5.简述系统调用的实现过程 6.命令接口和图形用户接口分别有什么优缺点?

作业3-线程实现加减乘除

电子科技大学 作业报告 学生姓名:学号:指导教师: 学生E-mail: 一、作业名称 线程实现加减乘除服务 二、作业要求 试验要求: 使用多个队列,每一个计算线程有独立的队列用于存储计算请求,请求线程可用一个队列用于接收结果。 只需要实现A(+,-,X,/)B简单两元计算 请求线程与计算线程是多对多关系 三、设计与实现 3.1设计方案 根据试验要求,线程间的通信用队列,所以通信结构就不用考虑了,提到队列,我们就要做初始化队列,朝队列里面添加信息,从队列头部取走信息这些工作,但是在队列的操作中,最重要的就是线程的同步问题了,我选择了一个互斥锁和一个条件变量相结合的方法,互斥锁保证对队列的任何操作必须唯一,条件变量使我们可以放心的等待队列有内容,接着我们就需要选择我们的整体结构了。 最开始,我考虑用一个队列,发送线程把计算式结构体放到这个队列里面,这个计算式结构体里面包括接收线程的ID号,每个接收线程轮流去读取队列,但是只能读取接受进程是自己的结构体,然后再把这些结果都返回给主线程,主

线程对这个计算式进行打印到屏幕,但是这个模型有一定的限制,那就是接受计算线程个数每次去取得互斥锁,并准备去取计算式,发现这个结构体里面的接受线程不是自己,不得不释放互斥锁,轮流这样做,这样的效率会比较低。 由于计算类型是确定的,经过综合考虑,我觉得还是初始化四个发送队列,每个计算线程(加,减,乘,除)各对应一个队列,发送线程会根据自己产生的计算式类型,把这个结构体放入对应的队列中,这样接收线程在队列不空的情况下,就可以去取,并且保证可以取到,同时初始化四个回传队列,计算线程计算完毕后,把结果回传个产生这个计算式的线程。这样虽然会占有一定的空间,但是对于充足的内存,空间换时间的做法还是可以选择的。 在最后选择进程结束时,我考虑的是计算线程不能退出,因为暂时队列为空,不代表没有了该类型的计算式,但是还要保证最后整个线程正常退出,只能让所有的发送线程在接收到各自全部的计算式后返回主线程,这样主线程根据返回的发送线程的个数来判断是否结束整个进程。 另外发送线程的个数以及每个发送线程发送多少个计算式作业,都是用宏定义定义的,只要改变这两个值就可以修改线程的个数和现成的作业数,我这里主要的思想还是想把加减乘除与0,1,2,3对应起来,这样可以保证四个发送队列的类型与加减乘除匹配起来,并且计算线程id数组的下标刚好也用0,1,2,3与加减乘除对应,这样可以简单好理解。 结构图1

进程作业(附答案)

第二章进程管理 程序在顺序执行(①顺序性:每个操作必须在下一个操作开始之前结束。 ②封闭性:程序一旦开始运行,独占全部资源,其执行结果不受外界因素影响。 ③可再现性:当程序重复执行时,只要程序执行的环境和初始条件相同,必将获得相同的结果。)时和并发执行(并发、资源共享、制约关系和动态等特征)时,分别具有哪些特征什么叫进程(进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。)为什么要引入进程的概念 1.进程的基本特征是什么(动态、共行、独立)?请叙述进程与程序的关系和差别 2.进程有哪几种基本状态请画出各状态之间的状态变化图并说明状态转换的典型原因 3.什么是PCB包含哪些主要内容其作用是什么(是使一个在多道程序环境下不能独立运行的程 序(含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。)(为什么说PCB是进程存在的唯一标志) 4.下列哪些情况是对的: ⑴进程由自己创建⑷进程由于自己解除挂起 ⑵进程由于自己阻塞⑸进程由于自己唤醒 ⑶进程由于自己挂起⑹进程由自己撤消 5.请解释忙等待与阻塞的区别。 6.用进程状态变迁图,我们可以说明有关处理机管理的大量内容, ⑴什么“事件”引起每次显着的状态变迁 ⑵当人们观察系统中所有进程时,我们能够看到由某一进 下,进程变迁3能立即引起一进程的变迁1发生 ⑶在什么情况下,如果有的话,将发生下述因果变迁: 21; 32; 41 ⑷在什么情况下,如果有的话,下述变迁不会立即引起其 它变迁发生 a) 1; b) 2; c) 3; d) 4 7.操作系统的内核是什么 8.原语与非内核程序在执行上有什么不同 9.什么是进程的控制包括哪些基本内容(进程的创建,进程的撤消,进程的阻塞,进程的唤醒,进程的 挂起,进程的激活,改变进程的优先级…等) 10.什么是线程试说明进程与线程的关系与区别。 11.并发进程间的制约有哪两种引起制约的原因是什么 12.我们说程序的并发执行将导致最终失去封闭性.这话对所有的程序都成立吗试举例说明. 13.什么叫与时间有关的错误与时间有关的错误表现在哪些方面请举例说明之. 14.什么是进程间的互斥什么是进程间的同步这两个概念有何区别 15.考虑一台计算机,它没有TEST AND SET LOCK指令,但可以按原子操作方式将一个寄存器的内 容与另一个存储器字进行交换,是否能利用该指令写一个达到互斥的例程 16.什么叫临界资源什么叫临界段对临界区的管理应符合哪些原则你能用什么工具去写进程间 互斥的同步算法书写该算法时应注意什么问题 17.下面是两个并发执行的进程,它们能正确运行吗若不能正确运行,请举例说明,并改正之(X是定 义的公共变量). Cobegin var x:integer; procedure P1 procedure P2 var y,z:integer; var t,u:integer; begin begin x:=1; x:=0; y:=0; t:=0; if x>=1 then y:=y+1; if x<1 then t:=t+2; z:=y u:=t end; end; coend; 18.因修路使A地到B地的多路并行车道变为单车道,请问在此问题中,?什么是临界资源什么是临 界段

操作系统第二章进程和线程复习题

第二章练习题 一、单项选择题 1.某进程在运行过程中需要等待从磁盘上读入数据,此时该进程的状态将( C )。 A. 从就绪变为运行; B.从运行变为就绪; C.从运行变为阻塞; D.从阻塞变为就绪 2.进程控制块是描述进程状态和特性的数据结构,一个进程( D )。 A.可以有多个进程控制块; B.可以和其他进程共用一个进程控制块; C.可以没有进程控制块; D.只能有惟一的进程控制块。 3.临界区是指并发进程中访问共享变量的(D)段。 A、管理信息 B、信息存储 C、数 据 D、程序 4. 当__ B__时,进程从执行状态转变为就绪状态。 A. 进程被调度程序选中 B. 时间片到 C. 等待某一事件 D. 等待的事件发生 5. 信箱通信是一种( B )通信方式。 A. 直接通信 B. 高级通信 C. 低级通信 D. 信号量 6. 原语是(B)。

A、一条机器指令 B、若干条机器指令组成 C、一条特定指令 D、中途能打断的指令 7. 进程和程序的一个本质区别是(A)。 A.前者为动态的,后者为静态的; B.前者存储在内存,后者存储在外存; C.前者在一个文件中,后者在多个文件中; D.前者分时使用CPU,后者独占CPU。 8. 任何两个并发进程之间存在着(D)的关系。 A.各自完全独立B.拥有共享变量 C.必须互斥D.可能相互制约 9. 进程从运行态变为等待态可能由于(B )。 A.执行了V操作 B.执行了P操作 C.时间片用完 D.有高优先级进程就绪 10. 用PV操作管理互斥使用的资源时,信号量的初值应定义为(B)。 A.任意整数 B.1 C.0 D.-1 11. 现有n个具有相关临界区的并发进程,如果某进程调用P操作后变为等待状态,则调用P操作时信号量的值必定为(A)。 A.≤0 B.1 C.n-1 D.n

第二章 操作系统

第二章操作系统 一、单选题 1.在windows中,下列叙述中错误的是(A) A.不支持即插即用 B.可支持鼠标操作 C.桌面上可同时容纳多个窗口 D.可同时运行多个程序 2.在资源管理器中窗口,若希望显示文件的名称、类型、大小等信息,应选择“查看” 菜单中的(C) A.小图标 B.大图标 C.详细资料 D.列表 3.已选定文件夹后,下列操作中能删除该文件夹的是(C) A.在“编辑”菜单中选择“撤销”命令 B.用鼠标左键单击该文件夹 C.在“文件”菜单中选择“删除”命令 D.用鼠标左键双击该文件夹 4.在windows环境中,对磁盘文件进行有效管理的工具是(A)。 A、“资源管理器”或“我的电脑” B、“文件管理器” C、“我的公文包” D、“写字板” 5.在windows开始菜单下的“文档”菜单中存放的是(A) A、最近打开过的文档 B、最近建立的文件夹 C、最近运行过的程序 D、最近建立的文档 6.以下关于windows中快捷方式的说法正确的是(C) A、快捷方式创建好了以后就不能修改 B、快捷方式占用的内存空间非常大 C、快捷方式提供了一种快速访问文件和程序的方法 D、快捷方式不可以由用户自己创建 7.windows桌面的外观设置是在“控制面板”中的(A)属性中设置 A、显示 B、区域设置 C、系统 D、多媒体 8.鼠标是windows环境中的一种重要的(B) A、画图工具 B、输入工具 C、指示工具

D、输出工具 9.下列描述中,正确的是(A) A、激光打印机是非击打式打印机 B、鼠标器是一种即可作输入又可作输出的设备 C、windows是一种应用软件 D、PowerPoint是一种系统软件 10在Windows中“任务栏”的主要作用是(D)。 A、显示系统的所有功能 B、只显示正在后台工作的窗口名 C、只显示当前活动窗口名 D、实现窗口间切换 11.Windows的“桌面”指的是(D)。 A、活动窗口 B、某个窗口 C、全部窗口 D、Windows启动后的整个屏幕 12.在屏幕上可以同时显示多个窗口,可以根据窗口的(A)栏的颜色来判断它是否是当前活动窗口 A、标题 B、菜单 C、状态 D、符号 13.下面关于中文Windows文件名的叙述中错误的是(C)。 A、文件名允许使用多个圆点分隔符 B、文件名允许使用空格 C、文件名允许使用竖线(“|”) D、文件名允许使用汉字 14、在Windows中,带子菜单的菜单选项标记是(C)。 A、选项前带“√” B、选项前带“?” C、选项后带三角符 D、选项后带“…” 15、下列关于Windows剪贴板的叙述中,(B)是错误的。 A、按下Alt+PrintScreen键或Printscreen键都会往剪贴板中送信息 B、剪贴板中可以保存多次“复制”操作的内容 C、剪贴板中的信息可以保存到磁盘文件中长期保存 D、凡是有“剪切”和“复制”命令的地方,都可以把选取的信息送到剪贴板中去 16、下列不能出现在Windows资源管理器窗口左部的选项是(C)。 A、(C:) B、桌面 C、资源管理器 D、我的电脑 17.以下关于Windows中快捷方式的说法正确的是:(A) A、快捷方式提供了一种快速访问文件和程序的方法 B、快捷方式不可以由用户自己创建 C、快捷方式占用的内存空间非常大 D、快捷方式创建好了以后就不能修改 18.Windows的“我的电脑”窗口中,若已选定了文件或文件夹,为了设置其属性打开属性对话框,其操作是(C) A、用鼠标右键单击“查看”菜单中“工具栏”下的“属性”图标

北大操作系统高级课程-陈向群作业-XV6进程线程

阅读代码: 1.基本头文件: types.h param.h memlayout.h defs.h x86.h asm.h mmu.h elf.h 2.进程线程部分: vm.c proc.h proc.c swtch.S kalloc.c 以及相关其他文件代码 强调一下:由于内存管理部分还没有学到,所以请同学们遇到相关的代码和问题时,先将问题记录下来,到学过之后,再结合进程线程管理部分进行深入学习,最后要求对XV6有整体的理解。 请大家围绕如下一些问题阐述原理课的相关内容,以及XV6中是如何实现的。 1.什么是进程,什么是线程?操作系统的资源分配单位和调度单位分别是什么?XV6中的 进程和线程分别是什么,都实现了吗? 答:进程是在多道程序系统出现以后,为了描述系统内部各作业的活动规律而引进的概念。进程有3个基本状态,运行状态、就绪状态和等待状态(或称阻塞状态);进程只能由父进程建立,系统中所有的进程形成一种进程树的层次体系;挂起命令可有进程自己和其他进程发出,但是解除挂起命令只能由其他进程发出。进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的独立单位。 线程可称为轻量级的进程,是操作系统可以运行调度的最小单位。线程是进程内的一个相对独立的可执行的单元。若把进程称为任务的话,那么线程则是应用中的一个子任务的执行。 不论操作系统中是否引入了线程,操作系统中资源分配的基本单位都是进程。如果操作系统没有引入线程那么进程就是调度的基本单位。线程并不独立拥有资源,它仅仅分配了一些运行必备的资源。一个进程中的多个线程共同分享进程中的资源。在引入了线程的操作系统中,线程就变成了调度的基本单位,进程中的部分线程阻塞并不代表该线程被阻塞。 xv6操作系统实现了一个基于进程(没有实现线程)的简单进程管理机制。通过对proc.h 文件的阅读了解到xv6的进程中定义了一个context结构,一个枚举类型proc_state定义了UNUSED, EMBRYO, SLEEPING, RUNNABLE, RUNNING, ZOMBIE 这6种进程的状态,proc结构定义了进程控制块的内容,cpu结构定义了寄存器和栈指针。 2.进程管理的数据结构是什么?在Windows,Linux,XV6中分别叫什么名字?其中包含哪 些内容?操作系统是如何进行管理进程管理数据结构的?它们是如何初始化的? 答:进程管理的数据结构是进程控制块(PCB)。在Linux中进程控制块的结构是由一个叫task_struct的数据结构定义的,ask_struct存在/include/ linux/sched.h中,其中包括管理进程

操作系统原理第二章 用户界面习题

第二章用户接口 一、选择题(全做) 1.操作系统提供给程序员的接口是( ) A 进程 B 系统调用 C 库函数 D 系统调用和库函数 2. 用户在程序中试图读某文件的第100个逻辑块,使用操作系统的()接口 A 系统调用 B 图形用户接口 C 原语 D 键盘命令 3.用户要在程序一级获得系统帮助,必须通过()。 A.进程调度 B.作业调度 C.键盘命令 D .系统调用 4.用户的应用程序和应用系统是通过( )提供的支持和服务来使用系统资源完成其操作的。 A 点击鼠标 B 键盘命令 C 系统调用 D 图形用户界面 5. 用户可以通过()两种方式来使用计算机。 A 命令方式和函数方式 B 命令方式和系统调用方式 C 命令方式和文件管理方式 D 设备管理方式和系统调用方式 6.系统调用的目的是()。 A. 请求系统服务 B. 终止系统服务 C. 申请系统资源 D. 释放系统资源 7. 系统调用是由操作系统提供的内部调用,它()。 A. 直接通过键盘交互方式使用 B. 只能通过用户程序间接使用 C. 是命令接口中的命令使用 D. 与系统的命令一样

8.操作系统内核与用户程序、应用程序之间的接口是()。 A. shell 命令 B. 图形界面 C. 系统调用 D. C 语言函数 9.当CPU执行操作系统代码时,称处理机处于()。 A 执行态 B 目态 C 管态 D 就绪态 10.为了便于用户直接或间接地控制自己的作业,操作系统向用户提供了命令接口,该接口又可进一步分为()。 A 联机用户接口和脱机用户接口 B 程序接口和图形接口 C 联机用户接口和程序接口 D 脱机用户接口和图形接口 二、填空题 1. 用户在一次解题或一个事务处理过程中要求计算机系统所做工作的集合称为。 2.所谓系统调用,就是用户在程序中调用所提供的一些子功能。 三、简答题 1. 脱机命令接口和联机命令接口有什么不同? 2.处理机为什么要区分核心态和用户态两种操作方式?什么情况下进行两种方式的转换? 3.简述系统调用与函数调用有什么相同和不同点。 4. 区别概念:操作命令与系统调用 5. 简述系统调用的实现过程 6. 命令接口和图形用户接口分别有什么优缺点? 7. 何谓脱机I/O和联机I/O?

作业一

《嵌入式系统原理》作业一 注意: ●上交时间:下周上小课之前; ●不许打印答案,可以不抄题目,把答写在作业纸上就可以了; 一、填空题 1、ARM 机-机器),CM4处理器内部正在执行的指令的地址为0x08000100,此时读取 PC 2、CM4 4、根据操作数的来源不同,CM4处理器有不同的寻址方式,最快的寻址方式是 add r0,r1,r2 5、ATPCS中规定子程序间传递参数,参数个数少于等于4个时,使用寄存器 4 6、在CM4处理器中,寄存器和内存单元 7、伪操作import 伪操作“ldr r0,=label” 8、假设某嵌入式处理器有5级流水线,每级流水线所耗时间均为为0.2ms,则顺序执行30条指令需要耗费时间是 6.8 ms。 二、编程题 1、编写一段c语言和汇编语言的混合程序,在c语言函数中实现字符串拷贝(不许用字符串操作相关函数),函数原型如下:

void strcpy(char *src, char *dest) //即src所指向的字符串复制到dest中{ // 自己编写字符串拷贝代码 While(*src!=0) { *dest++=*src++ } } 然后,在汇编语言程序通过调用strcpy完成字符串src到dest的复制! PRESERVE8 THUMB AREA RESET, DATA, READONLY EXPORT __Vectors __Vectors DCD 0x20004000 ; Top of Stack DCD Reset_Handler ; Reset Handler AREA |.text|, CODE, READONLY Reset_Handler PROC EXPORT Reset_Handler [WEAK] ……;此处需将汇编代码补充完整 ldr r0,=src ldr r1,=0x20001000 Import strcpy Bl strcpy src dcb “Where is a will,where is a way!”,0 dest space 50 end

(完整版)操作系统第二章课后答案

第二章进程管理 2. 试画出下面4条语句的前趋图: S2: b:=z+1; S3: c:=a-b; S4: w:=c+1; 3. 程序在并发执行时,由于它们共享系统资源,以及为完成同一项任务而相互合作, 致使在这些并发执行的进程之间,形成了相互制约的关系,从而也就使得进程在执行期间出现间断性。 4. 程序并发执行时为什么会失去封闭性和可再现性? 因为程序并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态是 由多个程序来改变,致使程序的运行失去了封闭性。而程序一旦失去了封闭性也会导致其再失去可再现性。 5. 在操作系统中为什么要引入进程概念?它会产生什么样的影响? 为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制和描述,从而在操作系统中引入了进程概念。 影响: 使程序的并发执行得以实行。 6. 试从动态性,并发性和独立性上比较进程和程序? a. 动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源 而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指令的集合,是静态实体。 b. 并发性是进程的重要特征,同时也是OS的重要特征。引入进程的目的正是为了使其 程序能和其它建立了进程的程序并发执行,而程序本身是不能并发执行的。 c. 独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和 独立调度的基本单位。而对于未建立任何进程的程序,都不能作为一个独立的单位来运行。 7. 试说明PCB的作用?为什么说PCB是进程存在的唯一标志? a. PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。PCB中记录了操 作系统所需的用于描述进程情况及控制进程运行所需的全部信息。因而它的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能和其它进程并发执行的进程。 b. 在进程的整个生命周期中,系统总是通过其PCB对进程进行控制,系统是根据进程 的PCB而不是任何别的什么而感知到该进程的存在的,所以说,PCB是进程存在的唯一标志。 8. 试说明进程在三个基本状态之间转换的典型原因. a. 处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态变 为执行状态。 b. 当前进程因发生某事件而无法执行,如访问已被占用的临界资源,就会使进程由执行 状态转变为阻塞状态。 c. 当前进程因时间片用完而被暂停执行,该进程便由执行状态转变为就绪状态。 9. 为什么要引入挂起状态?该状态有哪些性质? a. 引入挂起状态主要是出于4种需要(即引起挂起的原因): 终端用户的请求,父进程 请求,负荷调节的需要,操作系统的需要。

第二章windows7操作系统习题

第二章Windows 7操作系统习题 一、是非题 1.操作系统是计算机最基本的系统软件。 A. 对 B. 错 2.在单用户操作系统中,系统所有的硬件软件资源只能为一个用户提供服务. A. 对 B. 错 是一个多任务操作系统。 A. 对 B. 错 4.默认情况下, Windows7 的桌面上只显示”回收站”一个图标. A. 对 B. 错 5.在Windows 7 中,用户要在打开的多个窗口中切换,可使用“Alt+Enter”组合键。 A. 对 B. 错 6.“资源管理器”是Windows系统提供的硬件管理工具。 A. 对 B. 错 7.在Windows 7 中,将删除的文件暂时保存在“回收站”中,使逻辑删除而不是物理删除。 A. 对 B. 错 8.在Windows 7 中,文件或文件夹的设置为“只读”属性,则用户只能查看文件或文件夹的内容,而不能对其进行任何修改操作。 A. 对 B. 错 9.在Windows 7 中,“磁盘清理”程序是从计算机中删除文件和文件夹,以提高系统性能。 A. 对 B. 错 10. 在Windows 7 中,快捷方式是指向计算机上某个文件、文件夹或程序的链接。 A. 对 B. 错 11. 在Windows 7 中,将快捷方式从桌面删除,就删除了该快捷方式链接的文件和程序。 A. 对 B. 错 12. Windows 7 在外观上的最显著改进就是任务栏。

A. 对 B. 错 13. 在Windows 7 中,通常可以通过不同的图标来区分文件类型。 A. 对 B. 错 14. 在Windows 7 中,文件名可以根据需要进行更改,文件的扩展名也能根据需要更改。 A. 对 B. 错 15.写字板时Windows 7附带的一款创建和编辑文本的工具。其不仅可以用来编辑文本,而且可以插入图形、图片,以及连接和嵌入对象等。 A. 对 B. 错 二、单选题 7 系统正确的关机的过程是 A. 在运行Windows 7 时直接关机 B. 选择“开始”菜单的“关机”命令关闭所有运行程序 C. 先退到DOS系统,再关闭电源 D. 关闭所有任务栏的窗口后,再关闭电源 2.安装Windows 7 时,硬盘应该格式化的类型是 A. FAT B. FAT32 C. NTFS D. 无论什么都可以 7 不是的操作系统。 A. 分布式 B.“即插即用”功能 C. 图形界面 D. 多任务 4.在Windows 桌面上已经有某个应用程序的图标,要运行该程序,只需 A.单击该图标 B.双击该图标 C. 右击该图标 D. 右键双击该图标 5.在Windows 7 中,“桌面”指的是。 A. 活动窗口 B. 某个窗口 C. 全部窗口 D. 整个屏幕 6.当一个在前台运行的应用程序窗口被最小化后,该应用程序将 A.被终止运行 B. 继续在前台运行 C. 被暂停运行 D. 被转入后台运行 7.在Windows 7桌面上,打开资源管理器的操作方法是。 A.右击任务栏,然后从弹出的快捷菜单选择“资源管理器”命令

操作系统作业(研究生入学试题100)

操作系统作业 第一章 1.采用多道程序设计的系统中,系统的程序道数越多,系统的效率就越高吗?为什么? 2.在较低的multiprogramming level ,throughput 随着multiprogramming level的增加而增加.这种现象的最好的解释是:随着multiprogramming level的增加( ) A.系统开销增加了 B.一些系统资源逐步被完全利用了 C.每个请求的I/O量是固定的 D.每个请求在系统中运行的平均时间增加了 E.在系统资源中的潜在的并发活动量增加了 3.出现最高点后, throughput会随着multiprogramming level的增加而下降.这种现象最好的解释是:随着multiprogramming level的增加( ) A.每个请求的I/O量是固定的 B.一些系统资源逐步被完全利用 C.内存利用率改善了 D.每个请求在系统中运行的平均时间增加了 E.在系统资源中的潜在的并发活动量增加了 4.在下列给出的操作系统中,交互性最强的是( ) A.批量处理系统 B.实时系统 C.分时系统 D.网络操作系统 5.( )不是设计实时操作系统主要的追求目标 A.安全可靠 B.资源利用率 C.及时响应 D.快速处理 6.操作系统中,并发是指若干个事件( )发生 A.在同一时刻 B.一定在不同时刻 C.某一时间间隔内 D.依次在不同时间间隔内 7.下列作业类型中,适合在分时系统中运行的有( ),适合在批处理系统中运行的有( ) A.学习编程 B.数据统计 C.发送电子邮件 D.整理硬盘 8.操作系统的共同的特征( ) 9.操作系统功能实现,必须的硬件支持有( ) A.高速缓存 B.地址转换机构 C.多个处理器 D.光盘和磁带 E.中断装置 F.大容量快速磁盘 10.操作系统内核的功能有哪些? 11.多道程序技术提高了CPU的使用效率,这是因为发挥了( )和( )之间的并行工作能力. 12.( )系统具有同时管理和运行多个应用程序的能力 A.GUI B.Windows Applications C.Multitasking https://www.wendangku.net/doc/055133196.html,working 13.目前,( )是没有版权的操作系统 A.LINUX B.UNIX C.WINDOWS D.MINIX [知识拓展] 17.下列指令中,哪些是特权指令? A.时钟设置 B.读时钟 C.由用户态转向管态 D.关中断

操作系统原理-第二章 用户界面

第二章用户界面 2.1 知识点汇总 1、作业及作业步 图2-1 作业及作业步 2、系统调用:用户程序中对操作系统的调用称为系统调用。使用户程序通过简单的调用,来实现一些硬件相关,应用无关的工作,从而简化了用户程序。 独立程序:不需要操作系统帮助的程序(包括程序的启动和结束) 非独立程序:需要操作系统帮助的程序 图2-2 系统调用的执行过程 系统调用的特点: (1)系统调用指令是由硬件决定的(即:CPU中的中断向量表)。 CPU的指令集中都有一条系统调用指令,又称访管指令 但系统调用具体实现的功能由操作系统决定(即:操作系统中的,系统调用分支表,及系统调用代码)。 因此:同一种计算机上的不同操作系统,系统调用指令是相同的。同一操作系统,在不

同的计算机上,系统调用指令是不同的。 (2)系统调用是动态连接的 静态连接:程序在编译时,将被调用的程序嵌入到自身中。如:库函数调用 动态连接:程序在执行的过程中,执行到调用指令时,才连接到被调用的程序并执行。如:动态连接库(dynamic link library,DLL),系统调用。 由于操作系统是动态连接的,所以,缩短了用户程序,使用户程序和操作系统提供的系统调用功能相互独立。 (3)系统调用的调用地址和返回地址不是固定的。 系统调用的地址,由系统启动装载操作系统时,存放系统调用代码的位置决定,每次开机都可能存放在不同的位置上。 返回地址,由用户程序中系统调用指令的位置决定。 (4)安全接口 在执行系统调用和从系统调用中返回时,要分别保存和恢复程序状态字PSW,并设置PSW中的系统态/用户态标志位,进行系统态和用户态的切换。 执行系统调用时,进入系统态。从系统调用中返回用户程序时,进入用户态。 状态切换的目的:某些特权指令只能在系统态下执行。一些地址,只能在系统态下访问。从而限制了用户程序不能随意地进入操作系统区域,读写操作系统的内部代码,也限制了用户程序不能随意进入其它用户程序的区域。 中断:是指计算机在执行程序的过程中,当遇到需要立即处理的事件时,立即暂停当前正在运行的程序,转去执行有关服务程序,处理完后自动返回原程序。 发生中断的原因:系统调用,程序异常,IO事件完成,时间片结束,等等。可以归结为两大方面,一任务间切换的时候发生中断,二由用户态进入系统态时发生中断。 中断的执行过程:保存现场,将PSW等现场信息放入堆栈中,然后转去相应的中断处理程序。中断结束返回时,恢复现场,从堆栈中取出PSW等现场信息。继续执行原程序。2.2 例题解析 【例2.2.1】操作系统向用户提供了哪几类接口? 答:操作系统向用户提供了两类接口:一类是命令接口,另一类是程序接口。用户利用命令接口提供的操作命令来组织和控制作业的执行,按命令接口对作业控制方式不同,又可以将命令接口分为联机命令接口和脱机命令接口;用户还可以利用程序接口提供的一组系统调用来请求并获得操作系统服务,程序接口在用户编制程序的时候使用。今年来,为了方便用户的使用,又出现了图形接口。 【例2.2.2】试说明作业和进程的状态,并说明引起状态转换的典型原因。 答:作业的状态有提交状态、后备状态、运行状态和完成状态。 当一个作业还未进入算机系统内之前,用户正在向系统提交作业时所处的状态叫做提交状态。送入计算机并由操作系统将其存放在磁盘上以后,系统为这个作业建立一个作业控制

计应 第二章 Windows 7操作系统 试题

第二章 Windows 7操作系统 一、选择题 1.Windows7系统中的“桌面”是指()。 A.整个频幕 B.某个窗口 C.当前窗口 D.全部窗口 2.下列属于计算机操作系统的是()。 A.Windows 7 B.Linux C.UNIX D.以上全部 3.在Windows 7中,打开一个菜单后,其中某菜单项会出现与之对应的级联菜单的标识是()。 A.菜单项右侧有一组英文提示 B.菜单项右侧有一个黑色三角形 C.菜单项左侧有一个黑色圆点 D.菜单项左侧有一个“√”符号 4.在Windows 7中,能弹出对话框的操作是()。 A.选择了带三角形箭头的菜单项 B.运行了与对话框对应的应用程序 C.选择了颜色变灰的菜单项 D.选择了带省略号的菜单项 5.把Windows 7的窗口和对话框作一比较,窗口可以移动和改变大小,而对话框()。 A.既不能移动,也不能改变大小 B.仅可以移动,不能改变大小 C.仅可以改变大小,不能移动 D.既能移动,也能改变大小 6.Windows 7操作系统中,显示3D桌面效果的快捷键是()。 A.Alt+Tab B.Win+shift C.Ctrl+Tab D.Win+Tab 7.在Windows 7操作系统中,进行窗口切换的快捷键是()。 A.Alt+W B.Alt+Tab C.Alt+F D.Alt+N 8.剪贴板的作用是()。 A.临时存放剪切或复制的信息 B.作为资源管理器管理的工作区 C.长期保存信息的存储区 D.在使用Dos 时,划给的临时区域 9.在Windows 7中,剪贴板是程序和文件间用来传递信息的临时存储区,此存储区是()。 A.回收站的一部分 B.硬盘的一部分 C.软盘的一部分 D.内存的一部分 10.Windows 7中,若要选定当前文件夹中的全部文件和文件夹对象,可使用的组合键是()。 A.Ctrl+V B.Ctrl+A C.Ctrl+X D.Ctrl+D 11.在Windows中连续进行了多次剪切操作后,“剪贴板”中存放的是()。 A.空白 B.最后一次剪切的内容 C.第一次剪切的内容 D.所有剪切过的内容 12.用鼠标直接运行带有图标的Windows程序,所要用的操作是()。 A.双击 B.单击 C.拖动 D.选中 13.更改Windows 7主题主要包括()。 A.更改桌面背景 B.更改窗口颜色 C.更改声音和屏幕保护程序 D.以上都对 14.如果某个程序窗口被最小化,则程序将()。 A.终止运行 B.暂停运行 C.转入后台运行 D.继续前台运行 15.在“资源管理器”窗口中,如果想一次选定多个连续的文件,正确的操作是()。 A.单击第一个文件,按住Shift键,单击最后一个文件 B.单击第一个文件,按住Ctrl键,单击最后一个文件 C.按住Ctrl键,按住鼠标右键逐个选取 D.按住Shift键,按住鼠标左键逐个选取 16.在Windows 7的“资源管理器”中,已选定文件夹后,下列操作中不能删除该文件夹的操作是()。 A.在键盘上按Delete键 B.用鼠标左键双击该文件夹 C.在“文件”菜单中选择“删除”命令 D.右击该文件夹,在弹出的快捷菜单中选择“删除”命令 17.在Windows7“资源管理器”中,进行文件复制可以先右击文件图标,在弹出的快捷菜单中选择“复制”命令,再右击目标文件夹或磁盘,在弹出的快捷菜单中选择()命令。 A.粘贴 B.移动 C .拷贝 D.全选 18.下面“不合法”的文件名是()。 A.12345678?.TXT B.WIN_PROG.EXE C.FILE.DAT D.35768.TXT 19.关于Windows7中窗口的说法,以下()是正确的。 A.屏幕上只能出现一个窗口,这就是活动窗口 B.屏幕上可以出现多个窗口,但只有一个是活动窗口 C.屏幕上可以可以出现多个窗口,但不止一个是活动窗口 D.屏幕上出现的全部是活动窗口 20.在Windows7“资源管理器”的工作区中,已选定了若干个文件,若想取消其中几个选定文件,需要执行的操作是()。 A.按住Ctrl键,然后依次单击要取消的文件 B.按住Shift键,然后依次单击要取消的文件 C.按住Ctrl键,然后用鼠标右键依次单击要取消的文件 D.按住Shift键,然后用鼠标右键依次单击要取消的文件 21.Windows 7操作系统是()。 A.单用户单任务系统 B.单用户多任务系统 C.多用户单任务系统 D.多用户多任务系统 22.当窗口不能将所有的信息行显示在一屏内时,窗口中一定会出现()。 A.滚动条 B.状态栏 C.提示信息窗口 D.警告信息窗口 23.打开快捷菜单的操作为()。 A.单击 B.右击 C.双击 D.三击 24.在Windows7操作系统中,能安全关闭计算机的操作是()。 A.在文件未保存的情况下,单击“开始”按钮→“关闭”计算机 B.在保存文件并关闭所有运行的程序后,单击“开始”按钮→“关闭”计算机 C.直接按主机面板上的电源按钮 D.直接拔掉电源关闭计算机 25.将鼠标指针移至()上拖曳,既可移动窗口位置。 A.标题栏 B.格式栏 C.状态栏 D.菜单栏 26.以下输入法中属于键盘输入法的有()。 A.光电输入法 B.手写输入法 C.语音识别输入法 D.搜狗拼音输入法 27.在Windows 7操作系统中,切换输入法的快捷键默认是()。 A.Alt+Enter B.Ctrl+Alt C.Ctrl+Shift D.Alt+Shift 28.下列()文件是压缩文件。 A.财务.doc B.财务.exe C.财务.zip D.财务.txt 29.在Windows7的“资源管理器”中,关于文件扩展名的显示,以下正确的是()。 A.所有文件的扩展名始终显示,与设置无关 B.所有文件的扩展名始终不显示,是隐藏的,与设置无关 C.不可以更改扩展名是否显示的设置

第二章:Windows 7 操作系统(教案).

云南外事外语职业学院教师教案(4课时) 1、计算机操作系统简介 1.1、了解操作系统基本概念 概念:操作系统(Operating System,简称OS)操作系统是管理和控制计算机系统中的所有资源,合理地组织计算机工作的流程,并为用户提供一个良好的工作环境和接口的系统软件。 裸机:没有安装任何软件的计算机; 操作系统是软件的集合; 1.2、操作系统的发展过程 操作系统的形成过程大致经历了手工操作、管理程序和操作系统3个阶段。 1.3、操作系统的分类 按与用户对话的界面进行分类: 1)命令行界面操作系统。例如MSDOS、Novell Netware。

2)图形用户界面操作系统。例如Windows。 按能够支持的用户和运行的任务进行分类: 1)单用户单任务操作系统—CP/M和MS-DOS 2)单用户多任务操作系统—WINDOWS 3)多用户多任务操作系统—Unix/Linux Windows Server 按使用环境和对作业处理的方式进行分类: 1)批处理操作系统 2)分时操作系统 3)实时操作系统 4)网络操作系统 5)分布式操作系统 1.4、操作系统的功能 1)CPU的控制与管理 2)内存的分配与管理 3)外部设备的控制与管理 4)文件的管理 5)作业管理和控制 1.5、常用操作系统介绍 1)DOS 操作系统 2)Windows 操作系统及发展 Windows 1.0 2.0、Windows95、Windows ME、Windows NT、Windows 2000、Windows XP、Windows server 2003、Windows Vista、Windows 7、Windows 8、Windows 10 3)UNIX 操作系统 4)Windows NT 操作系统 5)Linux 操作系统 6)MACOS 操作系统 2、Windows 7操作系统 2.1、Windows 7 新特征 1)更加简单 2)更加易用 3)更加快速 4)更加安全 5)更好的连接

相关文档