操作系统---基础题目汇总十二

1、以下关于内存泄漏说法正确的是__
正确答案: C

A、内存泄漏是操作系统内存管理出错导致的问题
B、单线程程序不可能内存泄漏
C、如果一个进程在运行过程中占用的内存无限制上升,那么该进程有内存泄漏
D、只要进程在退出之前释放了所有分配的内存,那么就不会内存泄漏
E、内存泄漏是仅仅出现在C/C++程序的问题,Java程序不会内存泄漏

内存泄漏 就是申请了内存,但没有释放,导致占用内存无限上升。

内存泄露是程序设计的bug,不是操作系统的问题
内存泄露跟线程数无关
内存泄露是进程申请了内存却没有释放。导致占用内存无限上升
进程退出之前释放申请的内存,不代表进程运行过程中没有内存泄露
java是自动管理内存的,但是也会有内存泄露,比如加入HashMap的对象hash值改变了就无法
从HashMap中remove,这就造成了内存泄露

2、在下面的叙述中,正确的是()。
正确答案: D

A、同一进程内的线程可并发执行,不同进程的线程只能串行执行
B、同一进程内的线程只能串行执行,不同进程的线程可并发执行
C、同一进程或不同进程内的线程都只能地串行执行
D、同一进程或不同进程内的线程都可以并发执行

3、进程调度是从()选择一个进程投入运行。
正确答案: A

A、就绪队列
B、等待队列
C、作业后备队列
D、提交队列

4、p和”hello,world”存储在内存哪个区域?

int main()
{
    char *p = "hello,world";
    return 0;
}

A、栈,堆
B、栈,栈
C、堆,只读存储区
D、栈,只读存储区
根据C语言中的特性和定义p是一个局部变量,而C语言中局部变量存在于栈中,“hello wrold”是一个字符串字面常量,因此存储于程序的只读存储区中,p在这里其实只是指向了”hello wrold”在只读存储区中的地址而已。

5、下面有关共享内存,说法不正确的是?
正确答案: D

A、共享内存和使用信号量一样,属于进程间通信的一种方式。
B、使用shmget函数来创建共享内存
C、尽管每个进程都有自己的内存地址,不同的进程可以同时将同一个内存页面映射到自己的地址空间中,从而达到共享内存的目的
D、共享内存提供了同步机制,在第一个进程结束对共享内存的写操作之前,会有自动机制可以阻止第二个进程开始对它进行读取

共享内存并未提供同步机制,当某一个进程对共享内存提供写操作时,并未自动的阻止另一个进程对它进行读取;
共享内存:就是允许多个进程访问同一内存空间,进程间传递和共享数据非常有效
信号量:为了防止多个进程访问共享资源而造成冲突,设置临界区域每次只让一个进程访问,信号量提供了这样一种机制,用来控制对临界区域的访问

6、当一个进程从CPU上退下来时,它的状态应变为()。
正确答案: B

A、静止就绪
B、活动就绪
C、静止睡眠
D、活动睡眠

静止就绪:这个也叫做挂起就绪,是指进程被对换到辅存时的就绪状态,是不能被直接调度的状态,只有当主存中没有活跃就绪态进程,或者是挂起就绪态进程具有更高的优先级,系统将把挂起就绪态进程调回主存并转换为活跃就绪。

活动就绪:进程在主存并且可被调度的状态。

静止睡眠(阻塞):是指进程对换到辅存时的阻塞状态,一旦等待的事件产生便进入静止就绪状态。

活动睡眠(阻塞):是指进程已在主存,一旦等待的事件产生便进入活跃就绪状态。

正在执行的进程由于其时间片用完被暂停执行,此时进程应从执行状态变为活动就绪状态;
处于静止睡眠状态的进程,在进程等待的事件出现后,应变为静止就绪状态
若进程正处于执行状态时,因终端的请求而暂停下来以便研究其运行情况,这时进程应转变为静止就绪状态;若进程已处于睡眠状态,则此时应转变为静止睡眠状态。

7、下列有可能导致一进程从运行变为就绪的事件是()。
正确答案: D

A、一次I/O操作结束
B、运行进程需作I/O操作
C、运行进程结束
D、出现了比现运行进程优先权更高的进程

A应该是由阻塞太进入就绪态
B应该是由运行态进入阻塞态
C程序运行结束,由运行态进去终止状态
D如果是抢占式系统,有可能从运行态进去就绪态

8、进程的控制信息和描述信息存放在()。
正确答案: B

A、JCB
B、PCB
C、AFT
D、SFT
进程控制块(PCB)是系统为了管理进程设置的一个专门的数据结构。系统用它来记录进程的外部特征,描述进程的运动变化过程。同时,系统可以利用PCB来控制和管理进程,所以说,PCB(进程控制块)是系统感知进程存在的唯一标志。

9、在单处理机系统中,设系统中有n个进程(n>2),且当前处理机没有执行进程调度程序,下列情况哪些可能发生()
正确答案: B C D

A、没有运行的进程,有2个进程处于就绪状态,n进程处于等待状态
B、一个进程处于运行状态,n-1进程处于等待状态
C、一个进程处于运行状态,1个进程处于就绪状态,n-2进程处于等待状态
D、一个进程处于运行状态,n-1进程处于就绪状态,没有进程处于等待状态

A 明显不对 一共 n+2个进程了
B  n-1个进程被阻塞了,是满足题意的
C 运行的进程唤醒n-1个被阻塞进程中的一个进程
D 运行的进程唤醒n-1个被阻塞进程

你可能感兴趣的:(操作系统)