进程和线程 的随笔和简述

坚强是说给别人听的谎言 提交于 2020-03-07 06:49:45

思维导图

  • 虚拟内存技术

每个进程看到自己独占一部分空间,但其实所有进程是共享一个物理内存,进程创建的时候,内核为建立了虚拟内存的布局,初始化进程控制表中相关的链表,但没有立刻拷贝对应数据和代码到当前位置,就是在进程运行时要分配动态内存时,分配虚拟内存,只有访问此数据时,发生缺页异常,才会立刻拷贝数据。

  • 好处:
  1. 扩大地址空间
  2. 公平内存空间
  3. 内存保护:各自进程有各自独立的虚拟内存地址空间,虚存会对特定的地址提供写保护
  4. 通信时,可用虚拟共享
  5. 节省空间,不同进程使用相同代码时,可以映射同一个代码,不需要拷贝多个
  6. 适合多道程序设计
  7. 需要连续空间时,实际物理内存空间可以不连续
  • 代价:
  1. 需要建立多个数据结构
  2. 地址转换要耗时
  3. 页面切换需要磁盘io
  4. 数据少时比较浪费内存

进程

所有等待态的当条件满足立刻进入就绪态

PCB -》数据结构 进程控制块
存进程的状态放入队
用数组管理所有的pcb

  • 就绪

  • 运行

  • 堵塞 等待io/事件
    程序控制cpu,整个系统下一个执行什么完全由cpu控制
    操作系统通过时钟中断,控制不让程序继续运行
    进入等待态系统程序需要系统调用
    软硬件协同设计
    内核启动shell在启动其他的线条
    双击图表告诉资源管理器就是shell
    windows 父进程子进程毫无瓜葛

  • 消息传递

    • 堵塞系统调用
    • 非阻塞系统调用

每个进程都有自己的独立地址空间都是从0开始的都是虚拟地址


待更新-------------------------------------------------

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!