• Java刷题day26


    1. 下列有关在一个处理器(processor)上跑两个线程(thread)的说法中,正确的是?

    A 一个线程可以改变另一个线程的程序计数器(program counter)
    B 一个线程既不能读也不能写另一个线程的栈(stack)
    C 一个线程可以读写另一个线程的寄存器(register)
    D 以上都不对
    答案:B
    解析:每个线程都有自己独立的栈

    2. 如何减少换页错误?

    A 进程倾向于占用CPU
    B 访问局部性(locality of reference)满足进程要求
    C 进程倾向于占用I/O
    D 使用基于最短剩余时间(shortest remaining time)的调度机制
    答案:B
    解析:换页错误又称缺页错误,当一个程序试图访问没有映射到物理内存的地方时,就会出现缺页错误, 这时操作系统就要去虚拟内存中加载这块内存页。
    减少换页错误的方法,即降低缺页中断率:
    1、内存页框数。增加作业分得的内存块数。
    2、页面大小。页面划分越大,中断率越低。
    3、替换算法的优劣影响缺页中断次数
    4、程序局部性。程序局部性好可减少缺页中断。

    3. 系统中内存不足程序所需大小,程序就无法执行。

    A 错
    B 对
    答案:A
    解析:操作系统存在虚拟内存,能够把一部分优先级较低的程序保存到系统硬盘

    4. 通常所说的"存储保护"的基本含义是()

    A 防止存储器硬件受损
    B 防止程序在内存丢失
    C 防止程序间相互越界访问
    D 防止程序被人偷看
    答案:C
    解析:
    在采用虚拟存储技术的存储系统中,一个多任务的操作系统经常将多个不同的程序同时调入主存执行,因此,首先需要保证这些程序间不会相互覆盖,并且,一个程序不能访问其他程序的数据以及不是分配给他的主存区域。其次,一个程序出错不会破坏其他用户程序和系统程序。通过一些限制方式保护主存中程序的技术被称为存储保护。简单的说,存储保护就是对主存中的程序和数据进行保护。为了降低开销,在进行存储保护的时候,通常不会直接保护单个存储单元,而是以页或者段为单位进行保护。

    5. 下列进程调度算法中,()可能会出现进程长期得不到调度的情况。

    A 非强占式静态优先权法
    B 强占式静态优先权法
    C 时间片轮转调度算法
    D 非强占式动态优先权法
    答案:B
    解析:

    1. 强占式:进程在运行过程中,如果有重要或紧迫的进程到达(其状态必须为就绪),则现运行进程将被迫放弃处理机 ,系统将处理机立刻分配给新到达的进程。
    2. 静态优先权 :在创建进程时确定的,优先权在进程的整个运行期间保持不变。
    3. 动态优先权 :在创建进程时所赋予的优先权,是可以随进程的推进或随其等待时间的增加而改变的,以便获得更好的调度性能,该优先权会随着等待的时间增长而增长。

    6. 如果信号量的当前值为-4,则表示系统中在该信号量上有()个进程等待。

    A 4
    B 3
    C 5
    D 0
    答案:A
    解析:信号量当前值为-(m-1),当前为-4,表示有5个进程共享同一临界资源,但是临界资源只能由一个进程享用,因此等待的进程数为4,其实等待的进程数就是(m-1)。

    7. 基址寻址方式中,操作数的有效地址是()

    A 基址寄存器内容加上形式地址(位移量)
    B 程序计数器内容加上形式地址
    C 变址寄存器内容加上形式地址
    D 寄存器内容加上形式地址
    答案:A
    解析:

    • 基址寻址方式:基址寄存器内容加上形式地址(位移量)
    • 变址寻址方式:变址寄存器内容加上形式地址(位移量)

    8. 若系统中只有用户级线程,则处理机调度单位是()

    A 线程
    B 进程
    C 程序
    D 作业
    答案:B
    解析:

    • 如果系统只有用户态线程,则线程对操作系统是不可见的,操作系统只能调度进程;
    • 如果系统中有内核态线程,则操作系统可以按线程进行调度;

    9. 一个在线服务器通常需要读取存储着海量数据的数据库。为了提高服务器处理速度,通常需要加cache(缓存),以下场景中不适合使用cache的是()

    A 数据库中每条数据被访问的概率近似相等,且独立
    B 使用了多线程机制的服务
    C 单条线程尺寸太小的数据
    D 有着大量访问的服务
    答案:A
    解析:因为数据库中每条数据被访问的概率近似相等,且缓存空间一般较小不可能存入较多的数据。无法预测所需要查询的数据,如果将被最近访问数据放入缓存用处不大,故而增加缓存起不到很大的作用

    10. 若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间。

    A 顺序表
    B 双链表
    C 带头结点的双循环链表
    D 单循环链表
    答案:A
    解析:
    线性表最常用得操作是存取任一指定序号的元素和在最后进行插入和删除运算;
    进行任意位置存取,这个最省时省力的就是数组了,也就是顺序表。
    而且元素是在最后的位置进行插入和删除运算,也就不涉及其他元素进行位移的额外操作,最多涉及的就是去扩展空间了

  • 相关阅读:
    html网页多个div鼠标移动自动排列实例
    linux下安装openwrt(kvm虚拟机下安装)
    SpringBoot 接口数据加解密
    智能语音外呼OKCC呼叫中心的各项指标KPI
    【力扣】26. 删除有序数组中的重复项
    PointNet/Pointnet++训练及测试
    记录一次网卡问题
    如何通过日志恢复被删除的数据
    [激光原理与应用-19]:《激光原理与技术》-5- 激光器的增益、损耗、自激振荡条件
    功能测试进阶自动化测试?这9个必备自动化技能看看你有没有掌握...
  • 原文地址:https://blog.csdn.net/m0_52322019/article/details/126196120