【操作系统】问答题整理

Q1: 什么是操作系统,操作系统的作用

  • 操作系统是控制和管理整个计算机系统的硬件和软件资源,合理地组织、调度计算机的工作和资源的分配,进而为用户和其他软件提供方便接口与环境的程序集合。是计算机系统中最基本的系统软件。
  • 基本特征包括:并发、共享、虚拟、异步
  • 对计算机系统而言,操作系统是对所有系统资源进行管理的程序的集合;而对用户而言,操作系统提供了调用计算机资源的接口

Q2: 管态和目态的概念

  • 管态又称为特权状态、核心态、系统态。操作系统在管态下运行
  • 目态又称为用户态,用户程序只能在用户态下运行
  • 如果用户程序在目态下执行特权指令,硬件将发生中断,由操作系统获得控制,特权指令被禁止;当用户需要调用系统资源时,必须通过系统调用方式向操作系统提出服务请求,并由操作系统代为完成。

Q3: 程序、进程、线程联系以及进程和线程的区别和联系

程序和进程的区别与联系

  • 程序是一组有序的指令集合是一个静态的概念,一个程序由一组指令组成,以二进制方式存在存储器中。
  • 进程是程序及其数据在计算机上的一次运行活动,是一个动态的概念。进程的运行实体是程序,离开的程序的进程没有意义。进程是由程序、数据和进程控制块(PCB)三部分组成。进程有生命周期,进程也可以创建进程,这些都是程序所没有的。

进程和线程的区别与联系

  • 进程是操作系统系统资源分配基本单位,在没有线程机制的操作系统中,也是处理机调度运行的基本单位。
  • 在采用了线程机制的操作系统中,线程是处理机调度的基本单位,一个进程可以有一个或多个线程组成,各线程共享使用进程中的资源。
  • 引入进程是为了更好地使多道程序并发执行,提高资源利用率和系统吞吐量,增加并发程度;
  • 引入线程则是为了减小程序在并发执行时所付出的时空开销,提高操作系统的并发性能。

Q4: 进程的三个状态

  • 进程是计算机程序及其数据在计算机上的一次运行活动,是系统进行资源分配的基本单位,是一个动态的概念,因此具有生命周期,分为就绪态、运行态和阻塞态
  • 就绪态即为进程获得所需要的所有资源,等待处理机,只要分配到处理机,就可以执行
  • 运行态即为进程在处理机上运行
  • 阻塞态是进程正在等待某一事件发生,如等待某一资源的分配,即使处理机现在空闲也不能调度处于阻塞态的进程
  • 此外还有创建态和结束态

Q5: 操作系统中死锁的概念和死锁的方法

  • 由于系统中存在一些不可剥夺资源,当两个或两个以上的进程占有自身的资源并请求对方的资源时,会导致没个进程都无法向前推进,这就是死锁。
  • 死锁产生的必要条件有 4 个,分别是互斥条件、不剥夺条件、请求并保持条件和循环等待条件
    • 互斥条件是指,进程要求分配的资源是排他性的,即最多只能同时供一个进程使用
    • 不可剥夺是指进程在使用完资源前,资源不能被强制夺走
    • 请求并保持是指进程占有自身本来拥有的资源并想要其他资源
    • 循环等待条件是指存在一种进程资源的循环等待链
  • 避免死锁的办法
    • 死锁的处理策略有预防死锁、避免死锁和死锁的检测与解除
    • 死锁的预防是通过设立一些限制条件,破坏死锁的必要条件,让死锁无法发生
    • 死锁的避免是在动态分配资源时,用一些算法防止系统进入不安全状态,从而避免死锁
    • 死锁的检测和解除是指在死锁发生钱不采取任何措施,只检测系统是否发生死锁,如果发生死锁再采取措施解除

Q6: 信号量的概念

  • 信号量的提出是为了解决同步和互斥问题,只有 wait() 和 signal() 两种,就是P 操作和 V 操作

Q7: 同步和互斥的概念

  • 同步:需要在某些位置上协调进程之间的工作次序而等待、传递信息所产生的制约关系(简单来说就是某一进程需要使用的资源,是之前进程运行后的结果,所以该进程要发生的话,之前的进程必须运行结束)
  • 互斥:当一个进程进入临界区使用临界资源时,其他资源必须等待,不能进入临界区使用

Q8: PV原语

  • 原语是指完成某种功能且不可被分割、不被中断执行的操作序列,通常可由硬件完成。
  • P操作,表示进程请求一个资源,当资源已分配完时,会调用block原语进行阻塞
  • V操作,表示进程释放一个资源,使系统中可以分配的该类资源数加 1  

Q9: 调度算法有哪些

  • 处理机调度就是对处理机进行分配,从就绪队列中按照调度算法选择一个进程并分配处理机,来实现进程的并发执行
  • 调度算法包括
    • 先来先服务
    • 短作业优先(完成时间最短)
    • 优先级调度算法
    • 高响应比优先调度
    • 时间片轮转调度
    • 多级反馈队列调度

Q10: 页面置换算法有哪些

  • 在进程运行时,若其访问的页面不在内存中,就需要将其调入内存,而内存没有空闲空间的时候,需要从内存中调出一页程序或数据。
  • 选择调出页面的算法就是 页面置换算法。常用的有 最佳置换算法OPT、先进先出算法FIFO、最近最久未使用置换算法LRU、时钟置换算法
    • OPT:选择的淘汰页是以后用不使用的页面,或是在最长时间内不再被访问的页面,以此获得最低的缺页率。但其实未来哪个进程将被调度是未知的,所以该算法无法实现,只能用来评价其他算法
    • FIFO:优先淘汰最早进入内存的页面。FIFO算法会产生所分配的物理块数增大而页故障数也增大的异常现象,成为Belady异常
    • LRU:选择最近最长时间未访问过的页面予以淘汰
    • 时钟算法:给每帧关联一个附加位。指针循环每一帧的附加位,把满足一定条件的帧给替换。

Q11: 硬链接和软链接的区别

  • 软链接,类似于快捷方式,即删除快捷方式,不影响源文件,而删除源文件再通过软链接,也找不到源文件。保存共享文件的路径名
  • 硬链接则是共享文件的索引节点,当引用计数值不为0时,不可以删除共享文件。
  • 假设F1的指针指向索引节点,索引节点指向对应文件
  • 软链接F2指向的是F1,其引用计数值与F1一致。删除源文件对F2不可见,只有再通过F2访问源文件时发现文件不存在,就直接删除软链接F2
  • 硬链接F3则是直接指向了文件的索引节点,引用计数值+1,而删除F1,依然可以通过F3访问到源文件。
发布了16 篇原创文章 · 获赞 0 · 访问量 454

猜你喜欢

转载自blog.csdn.net/weixin_43951831/article/details/104970521