进程与线程与操作系统

4月份之前一直在忙着找工作,方向是iOS开发,但是经过了几次笔试面试后,感觉自身在计算机基础方面还是理解的不够深入,加上一些个人原因,于是决定转向考研,也借这个机会巩固一下计算机基础,学习一些新技术。

我目前使用的书是王道系列丛书,也就是数据结构、计算机组成原理、操作系统、计算机网络这四门学科,其中数据结构、操作系统和计算机网络也是各种笔试面试中最经常被考察到的知识点。

经过这段时间的学习,感觉很多书籍上的知识点过于散乱,对于整个知识体系的构建不是太好,所以我现在打算把学到的一些知识点整合精简一下,前期会以王道书上的知识点为主,再后面的复习中会结合其他书籍上的内容和我个人的理解加以修改补充,方便日后的学习回顾,所以就写了这篇博客。

进程与线程


知识结构

进程的组织(又称进行映像、进程实体,静态存在,进程则是动态存在的:程序段(代码,可被多个进程共享)、数据段(待处理数据、中间数据、结果数据)、进程控制段(PCB)

进程控制段(PCB):进程创建时,操作系统就新建一个PCB,常驻内存中。在进程结束时删除。PCB是进程存在的唯一标志。(当创建一个进程时,系统为该进程建立一个PCB;当进程执行时,系统通过其PCB了解进程的状态信息,以便对其进行操作;当进程结束时,系统收回其PCB,进程随之消亡)

PCB中主要包括进程描述信息、进程控制和管理信息、资源分配清单和处理机相关信息等。

管理PCB的方法:链接方式(类似于链表队列,不同队列代表不同状态的PCB)、索引方式(类似于字典)

进程的特征动态性、并发性、独立性、异步性、结构性。

进程是资源分配的基本单位。

进程的状态与转换:

就绪状态->运行状态:处于就绪状态的进程获得处理机资源(处理机时间片),进入运行状态

运行状态->就绪状态:1.时间片用完后,不得不让出处理机,该进程进入就绪状态。

2.在抢占式系统中,有更高优先级的进程就绪时,正在执行的进程不得不让出处理机,进入就绪状态。

运行状态->阻塞状态:进程请求某一资源或等待某一事件,进入阻塞状态(由用户态程序调用系统内核的过程)

阻塞状态->就绪状态:进程得到所请求的资源或等待的事件到来,就进入就绪状态

进程控制

进程创建原语:用户登录,作业调度,提供服务,应用请求

1.为新进程分配一个PCB

2.为新进程分配资源和空间(若不够,则进入”等待状态”)

3.初始化PCB(设置PCB上的基本信息)

4.把其PCB插入就绪队列

进程终止原语:正常结束、发生异常、外界干预

1.根据指定的标识符,找到对应PCB,获取其进程状态

2.若处于执行状态,则终止进程,讲处理机资源分配给其他进程

3.若该进行还有子进程,则终止其所有子进程

4.将该进程所有资源归还其父进程(若无,则还给操作系统)

5.删除PCB

进程阻塞和唤醒原语

阻塞:等待资源

1.根据指定的标识符,找到对应PCB,获取其进程状态

2.若处于运行状态,则停止运行,将其状态转为阻塞状态,保护其现场

3.把其PCB插入等待队列中

唤醒:资源到达

1.在等待队列中找到PCB

2.将其PCB移除等待队列,将其状态置为就绪状态

3.把其PCB插入就绪队列

进程切换原语:时间片用完、被高优先级抢占处理机、主动放弃

1.保存处理机上下文(计数器和其他寄存器)

2.更新被切换进程的PCB信息

3.把PCB插入相应队列

4.更新要执行进程的PCB信息

5.更新内存

6.回复处理机上下文

进程的通信

进程通信是秩进程之间的信息交换。


进程通信

共享存储:基础数据结构共享(低级)、基于存储区共享(高级)

简单的理解就是:甲和乙中间有一个大布袋,甲和乙交换物品是通过大布袋进行的,甲把物品放到大布袋里,乙拿走。但甲不能直接到乙的手中拿东西,乙也不能直接到甲的手中拿东西。

消息传递:直接通信、间接通信

简单的理解就是,甲要告诉乙某些事情,就要写信,然后通过邮差送给乙。直接通信就是邮差把信直接送到乙的手上(类似打电话),间接通信就是,乙家门口有个邮箱,邮差把信放到邮箱里(类似电子邮件)

管道通信:半双工通信

简单的理解就是:甲乙双方通过对讲机进行交流,甲说话的时候乙不能说话,直到甲说over之后,乙才能向甲说话。(在这里,一句话代表管道通信一次传输的数据)

线程的概念

线程是一个基本的CPU执行单元,也是程序执行流的最小单元,是独立调度和分派的基本单位,自身不拥有系统资源(只拥有运行中必不可少的资源:ID、计数器、寄存器、堆栈)

线程和进程的区别(感觉面试总喜欢问这个)

1.线程是独立调度的基本单位,进程是拥有资源的基本单位。

2.进程是拥有资源的基本单位,线程不拥有系统资源(有一点必不可少的资源),但是线程可以访问其所在进程的系统资源。

3.进程的调度涉及大量资源,系统开销很大。线程开销很小,可以随意切换。

4.进程间通信需要进程同步和互斥等手段的辅助以保证数据的一致性,线程间可以直接通信。(又扯到了线程通信和进程通信的具体方式,因为和考研无关,就不详细说明了)

线程的实现方式:用户及线程和内存级线程。

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

推荐阅读更多精彩内容