Linux操作系统分析 中国科学技术大学计算机系 陈香兰(0512- )

Slides:



Advertisements
Similar presentations
Linux 操作系统分析 中国科学技术大学计算机系 陈香兰( 0512 - ) Autumn 2010.
Advertisements

© 2001 孟静制作 版权所有 第二章 CPU 管理和进程、线程管理 2.1 CPU 管理概述 2.2 进程管理 2.3 进程模型实例分析 :UNIX 早期版本的 CPU 管理 子系统 ( 进程模型 ) 2.4 处理机管理实例分析 (2):linux CPU 管理(进程 模型) 2.5 线程模型.
进 程. “ 程序 ” 和 “ 进程 ” 进程是 OS 对 CPU 执行的程序的运行过程的一种抽象。进程有自 己的生命周期,它由于任务的启动而创建,随着任务的完成(或 终止)而消亡,它所占用的资源也随着进程的终止而释放。 Linux 内核中通常把进程称为任务,每个进程主要通过一个称为进程描 述符(
IT 服务与业务发展融合 王维航 北京华胜天成科技股份有限公司 十分钟的悲剧.
蕭文生 中正大學法律系教授兼法學院院長.  壹、前言  貳、司法院釋字第六八四號解釋  參、大學生之受教權  肆、大學自治之範疇  伍、大學生之其他基本權利  陸、救濟管道之改善  柒、結語.
提昇餐廳供餐品質 及服務滿意度 標竿學習主題 標竿學習計劃排定進度 分析客戶對餐廳供餐滿意度偏低原因:
第八課 謝 天. 第八課 謝 天 作者主旨文章作法 民國 陳之藩 謙卑感 恩,功 成不居 以「謝天」的傳統觀念 為中心,經由疑惑、思 索、領悟三個層次的敘 述,賦予新的意義 ★題目含義:表示對很多「人」的感謝。
蔬菜大觀園 V.S 大家來種菜 蔬菜的外觀及分類  蔬菜是我們常吃的食物,蔬菜的外觀形狀不 同,有各種不同的顏色、形狀、氣味等,嚐 起來的味道也不相同。  蔬菜的營養價值不盡相同,可實用的部位也 不同,有的是根、有的是莖、有的是葉、有 的是花、有的是果實,還有的是種子。  依據蔬菜種類和食用部位的不同,可以將蔬.
急性腹痛 急性疼痛. 急性疼痛 — 孙树杰、沈洪、 刘保池 (1)(1)(1)(1) 概 述 (2)(2)(2)(2) 重症急性腹痛的临床特点 (3)(3)(3)(3) 急性腹痛的分类及诊治 主要教学内容.
第九章 文件系统 (一)文件系统的基本概念 (二)文件的逻辑结构与存取方法 (三)文件的物理结构 (四)文件目录结构 (五)文件的共享与保护
第1单元 操作系统概论 第一节 绪论 操作系统定义.
中国特色社会主义政党制度 主讲:西南大学 李强 2011年12月28日.
四資二甲 第三週作業 物件導向程式設計.
第七章 操作系统接口 7.1 联机用户接口 7.2 Shell命令语言 7.3 系统调用 7.4 UNIX系统调用 7.5 图形用户接口.
欢迎南京市政治学科的教研同仁 光临指导.
香港普通話研習社科技創意小學 周順強老師.
马志强 软件学院501室 网络应用开发 马志强 软件学院501室
操作系统原理 Principles of Operating System
營建自動化 -營建管理資訊化 授課老師:劉俊杰 副教授 中華民國89年9月27日.
8.1 系統軟件、應用軟件和驅動程序 電腦軟件 是使電腦處理指定工作的一連串指令 大致可分大為三類: 驅動程序 系統軟件 應用軟件.
走出人生的冰原 勇敢迎向挑戰.
基于操作系统的编程复习 张玉宏
权力的行使:需要监督 北京市京源学校 冯 悦.
远程教育站点管理 及齐鲁先锋平台的使用 平阴县党员干部现代远程教育中心.
也許你很疑惑: 最近升官的同事,專業能力又沒你強! 情場得意的朋友,長的又沒你帥或美! 小曹要交新朋友,為什麼就是比較簡單!
資源班的知識性文本閱讀 報告人:吳居璋.
第8章 字元與字串處理 8-1 C語言的字元檢查函數 8-2 C語言的字串 8-3 字串的輸入與輸出 8-4 指標與字串
南京天石软件技术有限公司 陈锺 (QQ: Solaris 10 C编程 南京天石软件技术有限公司 陈锺 (QQ:
中国科学技术大学计算机系 陈香兰(0512- ) Spring 2011
第4章 作業系統的介紹及操作.
第七章. 文件系统 (lab5).
第7章 Linux环境编程.
Function.
第 5 章、連結與載入 作者:陳鍾誠 旗標出版社.
第2章 Linux概述 2.1 操作系统的功能和分类 2.2 Linux操作系统概述 2.3 Linux的应用现状与前景
1-1-1作業系統的功能 提供使用者操作介面 提供程式執行環境 控制輸入\輸出程序 分配系統資源 管理與維護磁碟中的檔案
线程(Thread).
进程操作.
Process management(程序管理)
中国科学技术大学计算机系 陈香兰(0512- ) Autumn 2010
詩文的形成 有意義的字詞 句子 段落 一首詩文的形成,是由有意義的字詞組成句子,再由句子組成段落。
中国科学技术大学计算机系 陈香兰(0512- ) 助教:孟宁 Fall 2009
第 23 讲 操作系统接口与UNIX系统内核结构 李元金 计算机与信息工程学院 1.
第4讲 C++程序控制结构(二) 4.1 循环结构 4.2 转向控制 4.3 综合案例分析.
作業系統 第三章 作業系統結構.
Name1..hour //加班時數 name2..hour //請假時數
操作系统的结构和硬件支持 第2章 操作系统的结构和硬件支持.
第 3 章、組合語言 作者:陳鍾誠 旗標出版社.
作業系統 第三章 作業系統結構.
Oop8 function函式.
3.5 线程 问题的提出 进程的引入使操作系统得以完成对并发执行的多道程序动态特征的描述和资源共享的管理,因而进程既是调度的基本单位又是资源分配的基本单位。进程所具有的这两个特点构成了程序并发执行的基础,但同时又导致进程切换过程中由于进程映像过大而带来的时空开销。因此,如果系统中创建的进程过多,或进程切换的频率过高,则会使系统效率下降,限制了并发度的进一步提高。
Java程式初體驗大綱 大綱 在學程式之前及本書常用名詞解釋 Hello Java!程式 在Dos下編譯、執行程式
主讲:陈香兰 助教:贾永泉、毛熠璐 (西区电三421) Autumn 2007
導 論 教學投影片.
第一章 C语言概述 目录 什么是语言、程序 C语言的历史与发展 C语言的书写形式与程序结构 运行C语言的步骤与方法
本节内容 引用类型 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
授课老师:龚涛 信息科学与技术学院 2016年3月 教材:《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
挑戰C++程式語言 ──第9章 函數.
如何制订幼儿园园本培训工作计划 大连亿达世纪城幼儿园 姜承华 2011年3月10日.
架构师成长感悟 吴隆烽
实验二:添加Linux系统调用及熟悉常见系统调用
2017 Operating Systems 作業系統實習 助教:陳主恩、林欣穎 實驗室:720A Lab4.
中国科学技术大学计算机系 陈香兰(0551- ) Spring 2009
第6章 嵌入式软件开发基础.
基本資料型態 變數與常數 運算子 基本的資料處理 授課:ANT 日期:2014/03/03.
PROGRAM 1 Simple E. Angel, Interactive Computer Graphics A Top-Down Approach with OpenGL, Third Edition Addison-Wesley Longman, 2003.
《操作系统设计与实现》 第5章 文件系统.
《操作系统设计与实现》 Linux系统编程.
Presentation transcript:

Linux操作系统分析 中国科学技术大学计算机系 陈香兰(0512-87161312) xlanchen@ustc.edu.cn 助教:裴建国、冯晓静 Autumn 2008

程序的执行 中国科学技术大学计算机系 陈香兰(0512-87161312) xlanchen@ustc.edu.cn 助教:裴建国、冯晓静 Autumn 2008

操作系统是如何通过可执行文件的内容建立进程的执行上下文的? 可执行文件的格式 程序以可执行文件的形式存放在磁盘上 库 可供很多程序使用的一些例程的集合 静态库 vs 共享库 命令行参数、环境变量等 Shell提示符下输入 从shell继承而来,用户可修改 2019/1/1 Linux OS Analysis

提纲 可执行文件 可执行格式 Exec函数 2019/1/1 Linux OS Analysis

可执行文件 可执行文件是一个普通的文件,它描述了如何初始化一个新的进程上下文 Fork + execve 2019/1/1 Linux OS Analysis

命令行参数和shell环境 用户使用shell来执行某个程序时,可以指定命令行参数 Shell本身不限制命令行参数的个数,但它受限于命令自身 例如:$ ls -l /usr/bin 列出/usr/bin下的目录信息 Shell本身不限制命令行参数的个数,但它受限于命令自身 例如,int main(int argc, char *argv[]) 又如, int main(int argc, char *argv[], char *envp[]) 2019/1/1 Linux OS Analysis

命令行参数和环境串都放在用户态堆栈中 2019/1/1 Linux OS Analysis

库 源文件目标文件可执行文件 最小的程序也会利用到C库 其他库 例如:void main(void) {} 在进程结束时,杀死进程(在main的最后插入exit()) 其他库 libm,包含浮点操作的基本函数 libX11,所有X11窗口系统图形接口的基本底层函数 2019/1/1 Linux OS Analysis

静态链接 vs 动态链接 静态库 动态链接:共享库 Gcc的-static选项指明使用静态库 2019/1/1 Linux OS Analysis

程序段和进程的线性区 在逻辑上,Unix程序的线性地址空间被划分为各种段(segment) 在mm_struct中都有对应的字段 正文段,text 数据段,data Bss段 堆栈段 在mm_struct中都有对应的字段 start_code/end_code、start_data/end_data、start_brk/brk、start_stack、arg_start/arg_end、env_start/env_end 2019/1/1 Linux OS Analysis

此外,还有共享库和文件的映射,他们映射在其他线性区 参阅/proc/1/maps了解init进程的线性区 2019/1/1 Linux OS Analysis

可执行格式 Linux标准的可执行格式 旧版的可执行文件格式 其他 ELF:Executable and Linking Format a.out:Assembler OUT put format 其他 MS-DOS的exe文件 UNIX BSD的COFF文件 2019/1/1 Linux OS Analysis

Linux对可执行文件格式的处理 在系统启动时,所有编译进内核的可执行格式都被注册 在系统运行过程中,也可以注册一个新的可执行文件格式 使用linux_binfmt对象管理 2019/1/1 Linux OS Analysis

linux_binfmt 链表,连接所有linux_binfmt对象 通过读存放在可执行文件中的信息为当前进程建立一个新的进程上下文 动态的把一个共享库绑定到一个已经在运行的进程 将当前进程的上下文保存到名为core的文件中 2019/1/1 Linux OS Analysis

Linux通过可执行文件的扩展名或者存放在文件前128字节的magic数来识别文件格式 文件扩展名 Exe Bat … 2019/1/1 Linux OS Analysis

Exec函数家族 用一个指定的可执行文件所描述的上下文代替进程的上下文 系统调用:execve sys_execve 指定被执行文件的路径名 用一个指定的可执行文件所描述的上下文代替进程的上下文 系统调用:execve sys_execve 2019/1/1 Linux OS Analysis

作业 什么是线性区?列举4种最常见的线性区。 Linux如何描述进程的地址空间? 2019/1/1 Linux OS Analysis