手把手带你扫盲 操作系统 的那些必知必会!

发表于:2018-4-13 09:24

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Carson_Ho    来源:腾讯科技

分享:
  前言
  操作系统 应是程序猿需掌握的知识,但往往会被忽略
  今天,我将手把手带大家扫盲 操作系统 的那些必知必会!希望你们会喜欢。
  目录
  示意图
  1. 跨进程通信方式(IPC)
  示意图
  注:此处给出移动端 Android的跨进程通信方式
  示意图
  2. 进程与线程
  2.1 进程
  定义
  是进程实体的运行过程 & 系统进行资源分配和调度的一个独立单位
  作用
  使多个程序可 并发执行,以提高系统的资源利用率和吞吐量
  进程状态说明(前三个为基础状态)
  示意图
  注意 就绪、阻塞状态的区别:
  就绪状态:进程缺少的资源 = 处理机,只要获得处理机资源立即执行
  等待状态:指 进程缺少其他资源(除了处理机) / 等待某一事件
  状态转换
  示意图
  2.2 线程
  定义
  1.一个基本的CPU执行单元 & 程序执行流的最小单元
  2.比进程更小的可独立运行的基本单位,可理解为:轻量级进程
  组成:线程ID + 程序计数器 + 寄存器集合 + 堆栈
  3.注:线程自己不拥有系统资源,与其他线程共享进程所拥有的全部资源。
  作用
  减少程序在并发执行时所付出的时空开销,提高操作系统的并发性能。
  状态说明
  拥有类似于进程的就绪、阻塞、运行3种基本状态,具体如下图:
  示意图
  2.3 二者区别
  示意图
  3. 死锁的必要条件、处理方式
  3.1 定义
  运行过程中,多个进程因争夺资源而造成的一种互相等待的僵局
  若无外力作用,这些进程都将无法向前推进
  3.2 原因
  竞争资源:请求同一有限资源的进程数 > 可用资源数
  进程推进顺序非法:请求 & 释放资源顺序不合理,如资源等待链
  3.3 死锁的必要条件
  示意图
  3.4 死锁的处理策略
  示意图
  3.5 其他说明:银行算法介绍
  定义
  最著名的死锁避免算法
  算法介绍
  1.当进程首次申请资源时,要测试该进程对资源的最大需求量
  2.若系统现存的资源可满足它的最大需求量,则按当前的申请量分配资源;否则,推迟分配
  4. 虚拟内存
  示意图
  5. 虚拟地址、逻辑地址、线性地址、物理地址的区别
  示意图
  6. 页存储、段存储、段页存储
  6.1 页存储
  简介
  示意图
  地址结构
  分页存储管理的逻辑地址结构如下图所示:
  示意图
  页表
  因数据存储在不同的页面中,而页面又离散的分布在内存中的不同中
  为了便于在内存中找到进程的每个页面所对应的物理块,系统为每个进程建立一张页表,记录页面在内存中对应的物理块号,即 逻辑地址 & 实际存储地址之间的映射关系,以实现从页号到物理块号的映射
  页表一般存放在内存中
  示意图
  6.2 段存储
  定义
  将用户程序地址空间分成若干个大小不等的段,每段可以定义一组相对完整的逻辑信息。存储分配时,以段为单位,段与段在内存中可以不相邻接,也实现了离散分配
  特点
  优:可编写 & 编译、可针对不同类型的段采用不同的保护、可按段为单位共享(含 通过动态链接进行代码共享)
  缺:会产生碎片
  6.3 段页存储
  定义
  段式管理 & 页式管理方案结合而成的方案
  作业的地址空间首先被分成若干个逻辑分段,每段都有自己的段号
  再将每段分成若干个大小相等的页
  对于主存空间也分成大小相等的页,主存的分配以页为单位。
  特点
  优:具有段式管理 & 页式管理方案的优点
  缺:由于管理软件的增加,复杂性和开销也就随之增加



上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号