操作系统—面试题

1、进程间通讯方式?进程间调度方法?

    a、共享内存(最有用的)

     多个进程可以访问同一内存空间,但是需要依靠同步操作,互斥锁和信号量等

    b、消息队列

      是在消息的传输过程中保存消息的容器,有读权限和写权限。

    c、信号

      信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生。

    d、信号量

        是一个计数器,可以控制多个进程对共享资源的访问。

    e、套接字

       用于网络中不同机器之间的进程通信。

    f、普通管道

        半双工的通信方式,可以允许无亲缘关系进程间通信

进程调度方法:

      1) 先来先服务调度算法

      2)短作业优先调度算法

      3)优先权调度算法

      4)高响应比优先调度算法

      5)基于时间片的轮转调度算法

      6)多级反馈队列调度算法

2、线程间通信方式?

    a、锁机制:互斥锁、条件变量、读写锁

    互斥锁提供了排他性,读写锁允许多个线程同时读共享数据,但是不能同时写。条件变量以原子方式阻塞进程,知道某个特定条件为真。

    b、信号量机制 (无名线程信号量,命名线程信号量)

    c、信号机制

    线程间通信目的只要用于线程同步。

    3、操作系统的组成?

     进程管理、存储管理、设备管理、文件管理、程序接口、用户界面。

    4、用户状态转为系统状态条件:

         系统调用;异常;外围设备中断。

    5、64位系统和32位系统区别:

        寻址能力不同,运算速度不同

    6、进程和线程区别?

        a、调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位

        b、并发性:不仅进程间可以并发,线程也可以。

        c、进程是拥有资源的独立了单位,线程基本不用有资源,

        d、系统开销,在创建和撤销进程中,系统都要分配和回收资源,开销过大

   7、换页方法

      FIFO、LRU、OPT等

   8、哲学家进餐问题的无死锁算法

     原理:只有哲学家两只筷子可用时,才可以进餐。

      方法:利用AND信号量机制,将一段代码需要的临界资源,要么一次性给它,要么一个都不给,不会出现死锁,当某些资源不够时,由于等待队列,满足FIFO的要求,不会出现饥饿情形。

              利用信号量保护机制,通过mutex对eat()之前的取筷子进行保护,使之成为一个原子操作,可以防止死锁。

    9、操作系统内存管理

       分区管理,分页管理,分段管理,段页式管理

    10、临界区、互斥量、信号量、事件的区别

          临界区:通过对多线程的串行化来访问公共资源,速度快,适合控制数据的访问。在任何时刻,都只让一个线程对共享资源访问,如果有多个想访问,那么就会被挂起。

          互斥量:采用互斥对象机制,只拥有互斥对象的线程才有访问公共资源的权限,保证公共资源不会被多个线程访问。

          信号量:允许多个线程同一时刻访问统一资源,但是限定最大线程数目。

          事件:通过通知操作来保持县城同步,方便实现对多个线程的优先级比较操作。

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值