Linux系统分析基础
linux系统分析基础
Linux系统分析第1讲 Linux系统分析基础
叶保留yebl@http://www.77cn.com.cn
南京大学计算机科学与技术系
linux系统分析基础
教学目标 了解Linux发展概况 了解Linux内核结构及编译方法 掌握Linux基本编程方法 掌握GNU编程工具 理解Linux程序执行机制
linux系统分析基础
主要内容 Linux简介 Linux内核环境 Linux编程环境 GNU make管理项目 Linux的程序执行机制
linux系统分析基础
初识Linux 类Unix(Unix-like)操作系统
其他类UNIX系统包括Solaris、Mac OS等
基于GPL(GNU Public License)的自由操作系统
第一个版本发行于1991年
主要用C语言编写,部分代码用汇编语言编写 ―Linux‖在不同语境下的内涵不同
简 介
Linux4
Linux内核、Linux系统、Linux开发套件等 严格来说,Linux指由Linux Torvalds维护(及通过主要 镜像网站发布)的内核
linux系统分析基础
Linux发展史 1991年11月,芬兰赫尔辛基大学的 Linus Torvalds
编写了一个小程序(取名为Linux),发布在互联网上 希望借此实现一个操作系统“内核” 一批高水平网络黑客参与,诞生Linux 1.0 版 Linux 的第一个商业版 Slackware 问世
1993年Linux5
1994年
简 介 1996年 美国国家标准技术局计算机系统实验室确认 Linux 版本 1.2.13符合 POSIX 标准
2001年
Linux2.4版内核发布 Linux2.6版内核发布
2003年
linux系统分析基础
Linux操作系统特征 符合POSIX标准规范的操作系统
Portable Operation System Interface of Unix:可移植的 操作系统接口 由IEEE开发,ANSI和ISO标准化 抢占式多任务处理,支持多用户 图形用户接口 异构硬件支持 支持SMP 支持TCP/IP 多体系结构支持,支持32/64位CPU NFS、VFS、高效的EXT系列文件系统等
具备现代操作系统的基本功能
简 介
Linux6
拥有其他操作系统没有的特色
linux系统分析基础
Linux精髓 代表一种开源文化
免费软件,开放源代码 自由软件,可在原有程序基础上开发自己的程序 GNU/Linux Linux仅指Linux内核 Linux系统的大部分应用都建立在GNU软件之上
简 核心结构 介 Linux内核 Linux Shell Linux文件系统 Linux应用系统 GNU Tools7
Linux
linux系统分析基础
Linux的系统结构(the users) Shells and commands Compilers and interpreters System libraries System-call interface to the kernel Signals terminal File system swapping handling block I/O system character I/O system disk and tape driver terminal drivers CPU scheduling page replacement demand paging virtual memory
用户应用程序
用户态Shell,库函数系统调用 内核实现
简 介
Linux8
核心态
Kernel interface to the hardware Terminal controllers terminals Device controllers disks and tapes Memory controllers physical memory
硬件资源管理接口
linux系统分析基础
划分用户态/内核态的必要性 不区分的缺陷
用户直接修改操作系统的数据 用户直接调用操作系统的内部函数 用户直接操作外设 用户任意读/写物理内存
简 介
Linux9
区分的意义
禁止用户程序和底层硬件直接打交道 如果用户程序往硬件控制寄存器写入不恰当的值,可 能导致硬件无法正常工作 禁止用户程序访问任意物理内存,否则可能会破坏其他 程序的正常执行 如果对核心内核所在的地址空间写入数据,会导致系 统崩溃
linux系统分析基础
CPU对用户态/和心态划分的支持 现代CPU都有几种不同指令执行级别
在高执行级别下,代码可以执行特权指令,访问任意的 物理地址,这种CPU执行级别就对应着内核态 在相应低级别执行状态下,代码的掌控范围会受到限制, 只能在对应级别允许的范围内活动 intel x86 CPU有四种不同的执行级别0-3 Linux只使用0级和3级分别表示内核态和用户态
简 介
Linux10
举例
linux系统分析基础
用户态/和心态的区分方法 cs寄存器最低两位表明当前代码的特权级
CPU每条指令的读取都是通过cs:eip这两个寄存器 cs:代码段选择寄存器 eip:偏移量寄存器 上述判断由硬件完成
简 介
Linux11
在Linux中,地址空间是一个显著的标志
0xc0000000以上地址空间:只能在内核态下访问 0x00000000 ~ 0xbfffffff的地址空间:两种状态下都可访 问 注意,这里的地址空间是逻辑地址而不是物理地址
linux系统分析基础
Linux的内核特点 Linux是单内核、多模块系统
简 介
Linux内核运行在单独的内核地址空间 所有操作系统功能作为一个模块实现在其内核中 模块均运行在内核态,直接调用函数,无需消息传递 具备模块化设计、抢占式内核(Linux 2.6支持,Linux 2.4 用户级抢占)、支持内核线程及动态装载内核模块的能力 与Unix主要区别 Linux汲取了微内核设计思想(基于模块定制内核)
Linux12
Unix也是单内核系统 Windows NT和Mach是微内核系统
只提供基础功能,其他功能通过服务实现 微内核功能被划分为多个独立过程,每个过程称为服务 器
linux系统分析基础
Linux单内核结构应用程序 用户态 标准函数库
简 介
Linux13
系统调用(POSIX标准)接口
单内核
模块
模块 接口
设备 驱动
驱动 接口
内核 (进程管理、存储 管理、文件管理、 设备管理、网络 管理)
核心态
计算机硬件
linux系统分析基础
Linux的内核版本 Linux内核版本指由Linux开发小组(Linus Torvalds总协调)开发出系统内核的版本号 Linux内核采用双树系统
一棵是稳定树,主要用于发行 另一棵是非稳定树(开发树),用于产品开发和改进
简 介第1位数字r 为主版本号
Linux14
Linux内核版本号由3位数字组成r.x.y第3位数字y为修改号, 表
示错误修补的次数 第2位数字x为说明版本类型的次版 本号: 偶数表示产品化版本 奇数表示实验版本
linux系统分析基础
主流的Linux发行版本
简 介
Linux15
linux系统分析基础
Linux与Windows的区别 文件系统
Linux需要一个挂载根目录/的ext分区和一个作为虚拟内 存的swap分区 Linux没有盘符,可通过设备名挂载,挂在信息在 /dev/fstab,如 mount -t ntfs /dev/sda1 /mnt/win_c
简 Linux将所有设备都映射成/dev目录下的一个文件 介 用户管理 系统管理员是root,使用su命令切换
Linux16
…… 此处隐藏:1605字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [行业范文]美好的法语句子
- [行业范文]描写露珠的句子
- [行业范文]精彩禅语句子图片
- [行业范文]关于满嘴谎言的句子
- [行业范文]关于安静的句子48句
- [行业范文]关于小河的句子
- [行业范文]描写稻田的句子
- [行业范文]思念好朋友的句子
- [行业范文]赞美雪的句子
- [行业范文]早上激励人心的句子
- [行业范文]失恋忧伤的句子
- [行业范文]努力积极向上的句子
- [行业范文]对工作心灰意冷的句子
- [行业范文]失恋让人心疼的句子
- [行业范文]描写珍惜青春的句子
- [行业范文]表达思念的句子简短
- [行业范文]关于父爱的句子范例
- [行业范文]浪漫的英语句子
- [行业范文]关于周末的句子
- [行业范文]思念牵挂的句子
- 有关感恩班会课件简短(二篇)(感恩班会
- 2025年初二下乡军训心得体会800字(15篇
- 关于新员工培训方案汇编(关于新员工培
- 精选高考生寒假学习计划书(精)(高考生
- 毕业实训报告心得体会(3篇)(实训报告心
- 银行工作感悟及心得范文怎么写(四篇)(
- 精选领导干部个人政治画像报告通用(七
- 精选超市11.11活动促销方案(精品超市品
- 2025年怎么做自我介绍汇总(5篇)(至2025
- 最新企业错峰生产方案(26篇)(山西企业
- 最新暑期三下乡社会实践调研报告范本(
- 最新幼儿园大班教育教学总结怎么写(最
- 最新教师节主持词小学(优秀9篇)(教师节
- 关于小学安全教育教学方案(推荐)(关于
- 员工信模板范文怎么写(五篇)(员工信息
- 最新保险销售离职申请书(十六篇)(最新
- 最新XX小学防校园欺凌工作方案怎么写(2
- 有关特岗教师辞职信范文(推荐)(特岗教
- 精选党的建设工作要点简短(党的建设的
- 如何写安康杯竞赛活动总结汇总(4篇)(安




