zoukankan      html  css  js  c++  java
  • 操作系统面试知识点

    进程(process)

    定义:进程,是一个程序的执行过程,是一个程序及其数据在处理机上顺序执行时所发生的活动。进程是一个实体,每个进程都拥有自己独立的地址空间。进程是执行中的程序。进程由进程控制块,程序段,数据段三部分组成。

    状态:产生,就绪,运行,阻塞,退出。

    产生的步骤:

    1. 申请空白PCB
    2. 为新进程分配资源
    3. 初始化PCB

    阻塞终止的原因:

    1. 请求系统服务
    2. 启动某种操作
    3. 新数据尚未到达
    4. 无新工作可做。

    进程的调度算法:

    1. FIFO(先进先出)
    2. RR(时间片轮转法)
    3. HRF(最高优先级)

    线程(Thread)

    定义:进程的一部分,轻量级进程,独立调度和分派的基本单位,可并发执行,共享进程内存,资源。

    线程跟进程的区别

    Answer:

    线程:

    1. 一个程序,至少有一个进程,一个进程至少有一个线程。
    2. 进程运行时拥有独立的内存单元,而同一进程内的多个线程共享内存。进程是分配资源的基本单位,而线程独立运行和独立调度的基本单位。
    3. 进程间通信IPC,线程之间可以直接读写。
    4. 线程调度切换比进程快。
    5. 在多线程OS中,进程不是一个可执行的实体。

    Linux进程间通信

    1. 管道及命名管道(Pipe)
    2. 信号(Signal)
    3. 消息队列(Message报文)
    4. 共享内存
    5. 信号量
    6. 套接口(Socket)

    Linux多线程同步的几种方法

    1. 互斥锁(mutex)
    2. 条件变量(cond)
    3. 信号量
    4. 事件

    进程死锁

    定义:多个进程抢占资源导致互相等待现象。

    产生死锁的原因:

    1. 系统资源不足
    2. 资源分配不当
    3. 进程执行顺序不合适。

    产生死锁的四个必要条件:

    1. 互斥条件:一个资源只能被一个进程使用。
    2. 请求与保持条件:一个进程因请求资源而阻塞时,对已经持有的资源保持不放。
    3. 不剥夺条件:进程已获得资源,在未使用完成之前,不得强行剥夺。
    4. 循环等待条件:若干进程之间行程一种头尾想接的循环等待资源的关系。

    处理死锁的方法:

    1. 忽略该问题。鸵鸟算法。
    2. 检测死锁并且恢复。
    3. 资源有序分配,避免环路的产生。
    4. 破坏死锁产生的条件。

    分页与分段

    说说分段和分页

    1. 页是信息的物理单位,分页目的是为实现离散分配方式,以消减内存的外零头,提高内存的利用率、
    2. 段是信息的逻辑单位,分段的目的是为了能更好的满足用户编程的需要。
    3. 页的大小固定且由系统确定,段的长度却不固定。
    4. 分页的作业地址空间是一维的,只需给出地址。分段的作业地址空间是二维的,需给出段名,又需给出段内地址。

    进程参考资料:http://www.cnblogs.com/memewry/archive/2012/08/25/2656966.html

  • 相关阅读:
    GitLab版本管理
    Failed to add reference to 'System.Net.Http'. Please make sure that it is in the Global Assembly Cache.
    在CentOS 6.3中安装拼音输入法
    Yum Error Another app is currently holding the yum lock; waiting for it to exit
    Centos使用光盘作为本地yum源
    Linux操作系统桌面环境GNOME和KDE的切换
    CentOS安装VMware Tools
    CentOS 加载/挂载光驱
    svn Couldn't open rep-cache database
    linux内存排查工具valgrind
  • 原文地址:https://www.cnblogs.com/huangcongcong/p/4005049.html
Copyright © 2011-2022 走看看