zoukankan      html  css  js  c++  java
  • Linux进程

    1.进程切换

    进程A进入内核模式后CPU的控制权转交给DMA,此时CPU空闲,再调度进程B,进程B也右用户模式进入内核模式,直到时间片段用完,再返回到进程A,返回read的值。

     2.操作系统为什么会为每个进程虚拟内存空间?

    是为了让多个进程可以有效访问物理内存。

    3,操作系统经典3态

    因创建而就绪,因调度而执行;因时间片用完而重新就绪;

    执行中因I/O请求而阻塞;

    I/O完成而就绪

    注意:阻塞以后不能直接执行,必须进入就绪状态。

    Linux内核中的进程状态

    q  运行状态(TASK_RUNNING

    q  可中断睡眠状态(TASK_INTERRUPTIBLE

    q  不可中断睡眠状态(TASK_UNINTERRUPTIBLE

    q  暂停状态(TASK_STOPPED

    q  僵死状态(TASK_ZOMBIE

     4.进程的一次调用2次返回:指进程调用1次后在各自的进程空间中返回。

    5.怎样理解fork返回值大于零是父进程,为什么要这样设计:

    fork()创建一个进程返回一个pid,pid>0是父进程,pid=0子进程;因为子进程获得父进程的pid比较容易,父进程获得子进程的pid比较困难。

    6.创建子进程后,子进程程序不再从父进程的main()入口开始执行,原因是:父进程按照叶式管理将内存4区拷贝给子进程,因此从fork往后执行即可。

  • 相关阅读:
    中缀、后缀、前缀表达式
    Salesforce图片上传
    VSCode格式化Apex代码
    Reporting Services已有帐号出现无法登录的问题
    EF-查询缓存
    visual studio 2015将已有项目添加到码云(gitee)
    asp.net页面加载两次的坑
    EF的性能瓶颈
    微信JS-SDK上传多张照片
    Python20-Day02
  • 原文地址:https://www.cnblogs.com/jefy/p/9683487.html
Copyright © 2011-2022 走看看