前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >操作系统:手把手带你扫盲 操作系统 的那些必知必会!

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

作者头像
Carson.Ho
发布2019-03-22 16:09:54
4020
发布2019-03-22 16:09:54
举报
文章被收录于专栏:Android知识分享Android知识分享

前言

  • 操作系统 应是程序猿需掌握的知识,但往往会被忽略
  • 今天,我将手把手带大家扫盲 操作系统 的那些必知必会!希望你们会喜欢。

目录

示意图
示意图

1. 跨进程通信方式(IPC)

示意图
示意图

注:此处给出移动端 Android的跨进程通信方式

示意图
示意图

2. 进程与线程

2.1 进程

  • 定义 是进程实体的运行过程 & 系统进行资源分配和调度的一个独立单位
  • 作用 使多个程序可 并发执行,以提高系统的资源利用率和吞吐量
  • 进程状态说明(前三个为基础状态)
示意图
示意图

注意 就绪、阻塞状态的区别:

  1. 就绪状态:进程缺少的资源 = 处理机,只要获得处理机资源立即执行
  2. 等待状态:指 进程缺少其他资源(除了处理机) / 等待某一事件
  • 状态转换
示意图
示意图

2.2 线程

  • 定义 一个基本的CPU执行单元 & 程序执行流的最小单元

  1. 比进程更小的可独立运行的基本单位,可理解为:轻量级进程
  2. 组成:线程ID + 程序计数器 + 寄存器集合 + 堆栈
  3. 注:线程自己不拥有系统资源,与其他线程共享进程所拥有的全部资源。
  • 作用 减少程序在并发执行时所付出的时空开销,提高操作系统的并发性能。
  • 状态说明 拥有类似于进程的就绪、阻塞、运行3种基本状态,具体如下图:
示意图
示意图

2.3 二者区别

示意图
示意图

3. 死锁的必要条件、处理方式

3.1 定义

运行过程中,多个进程因争夺资源而造成的一种互相等待的僵局

若无外力作用,这些进程都将无法向前推进

3.2 原因

  1. 竞争资源:请求同一有限资源的进程数 > 可用资源数
  2. 进程推进顺序非法:请求 & 释放资源顺序不合理,如资源等待链

3.3 死锁的必要条件

示意图
示意图

3.4 死锁的处理策略

示意图
示意图

3.5 其他说明:银行算法介绍

  • 定义 最著名的死锁避免算法
  • 算法介绍
  1. 当进程首次申请资源时,要测试该进程对资源的最大需求量
  2. 若系统现存的资源可满足它的最大需求量,则按当前的申请量分配资源;否则,推迟分配

4. 虚拟内存

示意图
示意图

5. 虚拟地址、逻辑地址、线性地址、物理地址的区别

示意图
示意图

6. 页存储、段存储、段页存储

6.1 页存储

  • 简介
示意图
示意图
  • 地址结构 分页存储管理的逻辑地址结构如下图所示:
示意图
示意图
  • 页表
    1. 因数据存储在不同的页面中,而页面又离散的分布在内存中的不同中
    2. 为了便于在内存中找到进程的每个页面所对应的物理块,系统为每个进程建立一张页表,记录页面在内存中对应的物理块号,即 逻辑地址 & 实际存储地址之间的映射关系,以实现从页号到物理块号的映射

页表一般存放在内存中

示意图
示意图

6.2 段存储

  • 定义

将用户程序地址空间分成若干个大小不等的段,每段可以定义一组相对完整的逻辑信息。存储分配时,以段为单位,段与段在内存中可以不相邻接,也实现了离散分配

  • 特点
    1. 优:可编写 & 编译、可针对不同类型的段采用不同的保护、可按段为单位共享(含 通过动态链接进行代码共享)
    2. 缺:会产生碎片

6.3 段页存储

  • 定义 段式管理 & 页式管理方案结合而成的方案
  1. 作业的地址空间首先被分成若干个逻辑分段,每段都有自己的段号
  2. 再将每段分成若干个大小相等的页

对于主存空间也分成大小相等的页,主存的分配以页为单位。

  • 特点
    1. 优:具有段式管理 & 页式管理方案的优点
    2. 缺:由于管理软件的增加,复杂性和开销也就随之增加

7. 总结

  • 本文全面讲解了 开发的基础知识:操作系统
  • 下面我将继续讲解 编程开发的基础知识,有兴趣可以继续关注Carson_Ho的开发笔记

请帮顶 / 评论点赞!因为你的鼓励是我写作的最大动力!

`

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年03月21日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 目录
  • 1. 跨进程通信方式(IPC)
  • 2. 进程与线程
    • 2.1 进程
      • 2.2 线程
        • 2.3 二者区别
        • 3. 死锁的必要条件、处理方式
          • 3.1 定义
            • 3.2 原因
              • 3.3 死锁的必要条件
                • 3.4 死锁的处理策略
                  • 3.5 其他说明:银行算法介绍
                  • 4. 虚拟内存
                  • 5. 虚拟地址、逻辑地址、线性地址、物理地址的区别
                  • 6. 页存储、段存储、段页存储
                    • 6.1 页存储
                      • 6.2 段存储
                        • 6.3 段页存储
                        • 7. 总结
                        • 请帮顶 / 评论点赞!因为你的鼓励是我写作的最大动力!
                        相关产品与服务
                        对象存储
                        对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档