2 - 操作系统

操作系统作用

通过资源管理(软硬件资源管理),提高计算机系统的效率,改善人机界面,向用户提供友好的工作环境
层级:计算机硬件 -> 操作系统 -> 其他系统软件 -> 应用软件

进程


进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。它由程序块进程控制块(PCB)数据块三部分组成。
进程与程序的区别

  • 进程是程序的一次执行过程,没有程序就没有进程;
  • 程序是完成某个特定功能的一系列程序语句的集合,只要不被破坏,它就永远存在
  • 程序是一个静态的概念,而进程是一个动态的概念,它由创建而产生,完成任务后因撤销而消亡。
三态模型
五态模型
例1

进程说明

进程管理-PV操作

PV操作是一种实现进程互斥与同步的有效方法。 PV操作与信号量的处理相关,P表示通过的意思,V表示释放的意思。

  • 临界资源:进程间需要互斥方式对其进行共享的资源,如打印机、磁带机等。
  • 临界区:每个进程中访问临界资源的那段代码称为临界区。
  • 信号量:是一种特殊的变量。
例0
例1

例1

举例2:


举例3:


举例3:


非抢占:当P1进行V操作,唤醒P2时,P1还会继续执行,直到结束或P操作阻塞,此时被唤醒的P2的才会执行。

进程管理-死锁


死锁

3个进程都需要5个资源:

  • 假如每个进程都有4个资源时,即总资源数为12时,可能会发生死锁,如果上图
  • 资源总数只需要>12,就至少有一个进程就可以满足条件,也就不会死锁
    即:
    满足不死锁的条件,资源总数要 >= 进程数 * (单进程所需资源数-1) + 1

死锁-银行家算法

举例:


  • 右侧是每个进程要继续运行还需的资源数,下面是当前剩余可用的资源数
  • 可以看到,P1 还是需要5、3、1个资源,而剩余的资源数是不够的,所以P1肯定不能先执行。同理P2是可以执行的
  • P2执行完成后,需要把其占有的资源加到剩余可用资源数里。
  • 按照以上逻辑,就可以计算出答案为B
例2

存储管理


分区存储


页式存储

由于分区存储,不能把大于内存的程序加载执行,所以通过虚拟内存(页式存储)来处理。

  • 逻辑地址 = 页号 + 页内地址
  • 物理地址 = 页帧号 + 业内地址

逻辑地址与物理地址的相互转化,就是计算出页内地址,然后根据页号与页帧号的对应表,直接替换位对方即可。

例0
例1
例2
  • 页面大小是4KB,默认按字节编址(8bit=1B)即要存储4K(2^12)个地址,则每个地址是12位
  • 逻辑地址5A29H,其中A29正好对应2进制的12位,所以5就是页号,其对应的页帧号是6,所以物理地址位6A29H

淘汰算法:

  • 优先淘汰访问位=0(最近未被访问)的
  • 其次淘汰修改位=0(未修改)的
  • 注意:状态位=0,代表不在内存,所以也没有淘汰之说

段式存储

  • 段地址合法性:(0,35K),从段表可以看出0号段长度是30K,这里段内偏移量是35K,已经超过的段长度,所以是非法的

考题:


  • 按照段合法性判断即可

段页式存储

段页式存储的编号

页面置换算法

  • 最佳置换算法
    该算法是一种理想化的算法,具有非常好的性能,但是由于目前无法预知未来,因此难以实现。
  • 先进先出(FIFO)页面置换算法
    该算法总是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰。
  • 最近最久未使用(LRU)算法
    该算法以过去预测未来,选择之前最长时间未使用的页面置换。但是由于利用“过去”作为“未来”的近似这一做法并非完全可靠,因此有时会造成缺页率非常高,导致效率会非常低。
  • 最不常用算法(LFU,Least Frequently Used)
    每个块都是有一个引用计数器。

磁盘调度算法

例1 存取时间

平均存储时间 = 寻道时间+选中传输时间+延迟时间

  • 寻道时间 = 10ms * 10 = 100ms
  • 平均存储时间 = (100ms + 100ms + 2ms)*100 = 20200ms
例2
  • 解题思路


磁盘在读完R0,对R0进行处理的过程中,磁头还在旋转中。等R0处理完,磁头已经到了R2开始处了,所以要读取R1,只能再旋转一周。

索引文件结构

如果题目中没有给每个地址项的大小,则默认为4字节,即4B

举例:


答案是A、D

解析:

每个磁盘索引块为1KB(图中ABCDE部分),每个地址项为4字节,即4B,那一个索引块可以存储1KB/4B = 256个地址项

逻辑地址的计算方式

空闲存储管理 - 位示图

例1

计算机指令集

内存模型

嵌入式操作系统




实时操作系统



微内核操作系统



恶意代码

(1)具有自我复制能力依附性恶意代码:主要代表是病毒
(2)具有自我复制能力独立性恶意代码:主要代表是蠕虫
(3)不具有自我复制能力依附性恶意代码:主要代表是后门
(4)不具有自我复制能力独立性恶意代码:主要代表是木马

恶意代码-被动

恶意代码-主动

木马与蠕虫

程序语言

语言
数据成分
控制成分

算术表达式

算法表达式
中缀表达式 转 后缀表达式

值传递/引用传递

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

推荐阅读更多精彩内容

  • 此篇文章带你梳理一下操作系统中都出现过哪些算法 进程和线程管理中的算法 进程和线程在调度时候出现过很多算法,这些算...
    代码敲到深夜阅读 143评论 0 0
  • 一、操作系统基础 1、请你说一说并发(concurrency)和并行(parallelism) 并发(concur...
    加油11dd23阅读 2,448评论 0 3
  • 1. 进程的常见状态?以及各种状态之间的转换条件? 就绪:进程已处于准备好运行的状态,即进程已分配到除CPU外的所...
    无痕25阅读 798评论 0 0
  • 1、进程和线程以及它们的区别 进程是对运行时程序的封装,是系统进行资源调度和分配的的基本单位,实现了操作系统的并发...
    冰冰爱吃冰淇淋阅读 154评论 0 0
  • 1.进程和线程以及它们的区别进程是对运行时程序的封装,是系统进行资源调度和分配的基本单位,实现了操作系统的并发;线...
    FrankXu0808阅读 290评论 0 0