- 1、本文档共73页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux高级编程(三)
张勇涛
抽象
抽象来源于具体,但又超越具体
抽象是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征。
操作系统与抽象
内核态与用户态
内核态就是拥有多资源的状态,或者说访问资源多的状态,也称为特权态.
用户态就是非特权态.
内核态和用户态各有优势:
内核态 : 资源多, 但是安全性、可靠性要求高,维护较复杂
用户态:资源受限,但可靠性、安全性要求低,编写维护比较简单
态势的识别
所谓的用户态、内核态实际上是处理器的一种状态,而不是程序的状态。
通过设置状态字来设置用户态、内核态,以及其它状态
程序和进程
程序(program)是存放在磁盘文件中的可执行文件。
进程: 程序的执行实例被称为进程(process)。
进程ID: 每个linux进程都一定有一个唯一的数字标识符,称为进程ID(process ID)。进程ID总是一非负整数。
进程相关基本概念
进程的定义
进程是一个独立的可调度的活动
进程是一个抽象实体,当它执行某个任务时,将要分配和释放各种资源
进程是可以并行执行的计算部分
进程是一个程序的一次执行的过程
进程是程序执行和资源管理的最小单位
进程与程序的区别
进程是动态的,程序是静态的:程序是静态的,它是一些保存在磁盘上的指令的有序集合,没有任何执行的概念。进程是一个动态的概念,它是程序执行的过程,包括了动态创建、调度和消亡的整个过程。
进程是暂时的,程序的永久的:进程是一个状态变化的过程,程序可长久保存。
进程与程序的组成不同:进程的组成包括程序、数据和进程控制块(即进程状态信息)。
进程与程序的对应关系:通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。
Linux下的进程的模式和类型
进程的执行模式划分为用户模式和内核模式
用户调用与内核调用关系
进程与内核的关系
进程的生命周期
创建
每个进程都是由其父进程创建
进程可以创建子进程,子进程又可以创建子进程的子进程
运行
多个进程可以同时存在
进程间可以通信
撤销
进程可以被撤销,从而结束一个进程的运行。
进程的状态
就绪状态(Ready):
阻塞状态(Blocked):
运行状态(Running):
进程的状态(运行态)
运行状态(Running):
占用处理器资源;处于此状态的进程的数目小于等于CPU的数目。
在没有其他进程可以执行时(如所有进程都在阻塞状态),通常会自动执行系统的idle进程(相当于空操作)。
进程的状态(就绪态)
就绪状态(Ready):
进程已获得除处理器外的所需资源,等待分配处理机资源;只要分配CPU就可执行。
可以按多个优先级来划分队列,如:时间片用完-低优,I/O完成-中优,页面调入完成-高优
进程的状态(堵塞态)
阻塞状态(Blocked):
由于进程等待某种条件(如I/O操作或进程同步),在条件满足之前无法继续执行。该事件发生前即使把处理器分配给该进程,也无法运行。如:等待I/O操作的完成。
进程的状态
创建状态(New):
进程刚创建,但还不能运行(一种可能的原因是OS对并发进程数的限制);如:分配和建立PCB表项(可能有数目限制)、建立资源表格(如打开文件表)并分配资源,加载程序并建立地址空间表。
结束状态(Exit):
进程已结束运行,回收除PCB之外的其他资源,并让其他进程从PCB中收集有关信息(如记帐,将退出码exit code传递给父进程)。
进程状态转换图
进程控制块(PCB)
进程id。系统中每个进程有唯一的id,在C语言中用pid_t类型表示,其实就是一个非负整数。
进程的状态,有运行、挂起、停止、僵尸等状态。
进程切换时需要保存和恢复的一些CPU寄存器。
描述虚拟地址空间的信息。
描述控制终端的信息。
当前工作目录(Current Working Directory)。
umask掩码。
文件描述符表,包含很多指向file结构体的指针。
和信号相关的信息。
用户id和组id。
控制终端、Session和进程组。
进程可以使用的资源上限(Resource Limit)。
fork和exec
进程中的内存分布
常用环境变量
PATH 可执行文件的搜索路径。
SHELL 当前Shell,它的值通常是/bin/bash。
TERM 当前终端类型,在图形界面终端下它的值通常是xterm,终端类型决定了一些程序的输出显示方式,比如图形界面终端可以显示汉字,而字符终端一般不行。
LANG 语言和locale,决定了字符编码以及时间、货币等信息的显示格式。
HOME 当前用户主目录的路径,很多程序需要在主目录下保存配置文件,使得每个用户在运行该程序时都有自己的一套配置。
获取环境变量
用environ指针可以查看所有环
您可能关注的文档
- 工程机械第五讲第一节答案.ppt
- LTE网络信令流程答案.pptx
- 九江版【5稿】【气压带和风带】2013.11.20九江全国比赛答案.ppt
- 消防给水及消火栓系统技术规范试题.pptx
- 工程机械第四讲第一节答案.ppt
- 九1、2为正义高歌--答案.ppt
- 工程机械第四讲第五节答案.ppt
- 华为DNB6200基站系统答案.ppt
- 九(下)第17课:第三次科技革命答案.ppt
- 排水泵站工艺设计答案.ppt
- 福莱特玻璃集团股份有限公司海外监管公告 - 福莱特玻璃集团股份有限公司2024年度环境、社会及管治报告.pdf
- 广哈通信:2024年度环境、社会及治理(ESG)报告.pdf
- 招商证券股份有限公司招商证券2024年度环境、社会及管治报告.pdf
- 宏信建设发展有限公司2024 可持续发展暨环境、社会及管治(ESG)报告.pdf
- 品创控股有限公司环境、社会及管治报告 2024.pdf
- 中信建投证券股份有限公司2024可持续发展暨环境、社会及管治报告.pdf
- 洛阳栾川钼业集团股份有限公司环境、社会及管治报告.pdf
- 361度国际有限公司二零二四年环境、社会及管治报告.pdf
- 中国神华能源股份有限公司2024年度环境、社会及管治报告.pdf
- 广西能源:2024年环境、社会及治理(ESG)报告.pdf
最近下载
- 机械行业“人形机器人的Optimus时刻”系列(五):触觉感知(电子皮肤),高山将越,坦途在望.pdf
- 培训教材污水处理厂运营管理方案.pptx VIP
- 纪检委处理回复函.docx
- AP微积分BC 2016年真题 (选择题+问答题) AP Calculus BC 2016 Released Exam and Answers (MCQ+FRQ).pdf VIP
- 武汉市2025届高中毕业生四月调研考试(四调)物理试卷(含答案).pdf
- 《西安事变》课件.ppt VIP
- 排水沟设计计算11.xls VIP
- 2010版中药典,中国药典2010年版.doc
- 精彩拍摄跟我来.docx
- 小学常用单词分类汇总衡水体英语字帖(含例句).pdf
文档评论(0)