操作系统相关知识

  1. 进程和线程
  • 进程是系统中能独立运行的基本单位,系统资源分配和调度的基本单位,由一组机器指令、数据和堆栈组成,进程包括进程堆栈,文本段,数据段,堆。
  • 线程是CPU调度和分派的基本单位。一个线程包括线程ID、程序计数器寄存器和堆栈。一个进程能有多个线程。线程能共享同一个进程中的代码段、数据段和其他操作系统资源。
  1. 线程同步的方式
  • 信号量:使用一个计数器来限制同时访问资源的线程数。
  • 互斥锁:只允许一个线程持有互斥对象。
  • 事件(信号):允许一个线程在处理完任务后,主动唤醒另一个线程执行任务。
  1. 进程的通信方式
    主要分为:管道、系统IPC(包括消息队列、信号量、共享内存、信号)、SOCKET
  • 管道:普通管道是一种半双工的通信方式,数据只能单向流动,通常在父子进程之间使用。命名管道也是半双工的通信方式,允许无亲缘关系的进程间的通信,通信可以是双向的。流管道:可以双向传输。
  1. 进程调度策略
  • FCFS(先来先服务):先请求CPU的进程先分配CPU
  • SJF(最短作业优先调度算法):平均时间最短,但难以知道下一个CPU区间长度
  • 优先级调度算法(可以是抢占的,也可以是非抢占的):优先级越高越先分配到CPU,相同优先级先到先服务,存在的问题是:优先级低的进程无穷等待CPU,导致无穷阻塞或饥饿;解决方法:老化
  • 时间片轮转调度算法(可抢占的):队列中没有进程被分配超过一个时间片的CPU时间,除非它是唯一可以运行的进程。如果进程的CPU区间超过了一个时间片,那么该进程就会被抢占并放回就绪队列
  • 多级队列调度算法:将就绪队列分成多个独立的队列,每个队列有自己的调度算法,队列之间固定优先级抢占调度。其中,一个进程根据自身属性被永久分配到一个队列中。
  • 多级反馈队列调度算法:与多级队列调度算法相比,其允许进程在队列之间移动:如果进程使用过多的CPU时间,那么它会被转移到优先级更低的队列;在较低优先级队列等待时间过长的进程会被转移到优先级更高的队列,以防止饥饿发生。
  1. 进程同步机制
    临界区、互斥量、信号量、事件

  2. 死锁

  • 死锁的概念:在两个或多个并发进程中,如果每个进程持有某种资源而又等待其它进程释放他们现在保持着的资源,在未改变这种状态之前都不能向前推进,称这一组进程产生了死锁。通俗的将,就是两个或多个进程无限期的阻塞、相互等待。

  • 死锁产生的四个必要条件:
    1.互斥:至少有一个资源必须属于非共享模式,即一次只能被一个进程使用;若其他进程申请必须等到该资源被释放为止。
    2.占有并等待:一个进程至少占有一个资源,并等待另一个资源,而该资源为其他进程所占有。
    3.非抢占:进程不能被抢占,即资源只能被进程在完成任务后自愿释放
    4.循环等待:若干进程之间形成一种头尾相接的环形等待资源关系

  • 死锁的处理基本策略
    解决死锁的基本方法主要有 预防死锁、避免死锁、检测死锁、解除死锁

  1. 页面置换算法
  • FIFO先进先出算法
  • LRU(Least recently use)最近最少使用算法:根据使用时间到现在多久来判断
  • LFU(Least frequentlu use)最少使用次数算法:根据使用次数来判断
  • OPT(Optimal replacement)最优置换算法:
  1. 什么是虚拟内存
    虚拟内存允许执行进程不必完全在内存中。虚拟内存的主要思想:每个进程拥有独立的空间,这个空间被分为大小相等的多个块,称为页,每个页是一段连续的地址。这些页被映射到物理内存,但并不是所有的页都必须在内存中才能运行程序。当程序引用到一部分不在物理内存中的地址时,操作系统负责将缺失的部分装入物理内存并重新执行失败的命令。对于进程而言,逻辑上似乎有很大的内存空间,实际上其中一部分在硬盘上,在使用到的时候操作系统才会加载到内存中。

  2. 虚拟内存的优点和引用
    虚拟内存很适合在多道程序设计系统中使用,许多程序的片段同时保存在内存中。虚拟内存的好处:

  • 在内存中可以保留多个进程,系统并发程度高
  • 解决了用户与内存之间的紧密约束,进程可以比内存的全部空间还大
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,265评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,078评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,852评论 0 347
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,408评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,445评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,772评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,921评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,688评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,130评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,467评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,617评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,276评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,882评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,740评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,967评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,315评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,486评论 2 348

推荐阅读更多精彩内容

  • 1. 基础知识 1.1、 基本概念、 功能 冯诺伊曼体系结构1、计算机处理的数据和指令一律用二进制数表示2、顺序执...
    yunpiao阅读 5,266评论 1 22
  • 操作系统概论 操作系统的概念 操作系统是指控制和管理计算机的软硬件资源,并合理的组织调度计算机的工作和资源的分配,...
    野狗子嗷嗷嗷阅读 11,898评论 3 34
  • 进程与线程 进程(process)是指在系统中正在运行的一个应用程序,是系统资源分配的基本单位,在内存 中有其完备...
    关耳木水阅读 425评论 0 0
  • 1 村里的秸秆不知什么时候烧着了,火光冲天,那一缕浓村烟飘到空中,被风一吹,瞬间四散逃去。 熙熙攘攘的人群中突然有...
    张兽兽sunny阅读 503评论 0 5
  • -1- 今天早上不到5点我姨带着哭腔给我打电话:“婷婷啊(我的小名),快来我家一趟,我儿子和儿媳妇今天非要离婚。”...
    李晓木阅读 1,089评论 10 20