- 1、本文档共45页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * LINUX的组成 内核:内核是系统的核心,是运行程序和管理像磁盘和打印机等硬件设备的核心程序。 SHELL: Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。 文件系统: Linux文件系统是文件存放在磁盘等存储设备上的组织方法。Linux能支持多种目前许多文件系统,如EXT2、EXT3、FAT、VFAT、ISO9660、NFS、SMB等。 实用工具:标准的Linux系统都有一整套称为应用程序的实用程序集,包括文本编辑器、编程语言、X Window、办公套件、Internet工具、数据库等。 POSIX标准 UNIX发展过程中,出现了许多变种(BSD, System V等)。为统一标准,出现了POSIX系列标准,它定义了一套标准的操作系统接口和工具。POSIX(Portable Operating System Interface,可移植操作系统界面)。 从理论上说,POSIX标准代码很容易移植到任何遵守POSIX的操作系统中。今天,几乎所有的正式操作系统都以支持POSIX标准为目标。 1.6.2 Linux的结构特征 应用软件及上层用户 系统调用 硬件基础 文件系统 内存管理 进程管理 缓存 块设备 字符设备 整体结构 结构特征 Linux内核基本采用模块结构,单内核模式,这使得系统具有很高的运行效率,但系统的可扩展性和可移植性受到一定影响。为了解决这个问题,Linux使用了附加模块(modules,也称模组)技术,可以方便地在内核中添加新的组件或卸载不再需要的内核组件,而且这种装载和卸载可以动态进行,即在系统运行过程中完成,而不需重新启动系统。 模组技术的实现可采用make命令。 Linux内核结构 内核源程序目录结构 内核源程序代码安装在/usr/src/linux目录下 Documentation:文档 arch:体系结构相关的代码 Drivers:外围设备的软件驱动程序 Fs:Linux支持的所有文件系统 include:这个目录包含了Linux源程序树中大部分的C语言包含(.h)文件。 init:这个目录下面的两个文件中比较重要的一个是main.c,它包含了大部分协调内核初始化的代码 ipc:这个目录包含核心的进程间通讯的代码 Modules :只是一个用来存放建立好的模块的目录 Kernel:Linux中最重要的部分,实现平台独立的基本功能。这部分内容包括进程调度(kernel/sched.c)以及创建和撤销进程的代码(kernel/fork.c和kernel/exit.c) Lib:目录包含两部分的内容。lib/inflate.c中的函数能够在系统启动时展开经过压缩的内核。lib目录下剩余的其它文件实现一个标准C库的有用子集 mm:该目录包含了体系结构无关的内存管理代码 net:这个目录包含了Linux应用的网络协议代码 scripts:该目录包含了用来配置内核的脚本 各部分功能 系统调用是核心向用户的提供的接口,也是从用户切换到内核的唯一显式途径。 进程管理和文件系统是Linux核心的两大部分。 内存管理为进程提供运行的空间(虚拟空间),是进程管理的一部分。 文件系统用来组织和管理信息,并提供外设的文件化抽象。 文件系统与进程管理之间相互联系,主要通过文件的打开动作来完成。 进程管理 kernel目录 Sched.c:调度程序,schedule函数 进程控制:fork.c(do_fork()) exit.c signal.c 模块化:module.c ksyms.c 其它:time.c panic.c resource.c sys.c dma.c sysctl.c softirq.c itimer.c 核心代码核心流程阅读 内存管理 mm目录 分页和置换 swap.c处理命令swap swap_state.c置换高速缓存 swapfile.c置换设备的管理 Vmscan.c分页(kswapd找置换页的守护进程) 分配和释放 kmalloc.c内核空间的分配和释放 page_alloc.c分配页面 vmalloc.c虚拟空间的分配、释放vmalloc,vremap,vfree 内存映射 filemap.c实现常规文件的映射 mmap.c:do_mmap,do_munmap,sys_brk fs目录及文件系统 exec.c二进制文件格式(Exec) devices.c设备注册,取消注册(open,release) block_dev.c读写块设备的缺省方法 super.c与超级块有关,定义VFS统一接口 inode.c高速缓冲的实现,读写inode例程等 dcache.c目录的高缓实现 namei.c依据名字找到索引节点号 file_table.
您可能关注的文档
- 第6章进程与存储管理示例详解.ppt
- 第2讲声现象课件详解.ppt
- 秋天的雨教学课件PPT讲述.pptx
- 秋季车展活动计划-市场部讲述.ppt
- 第6章沥青材料详解.ppt
- 第6章流程建模详解.ppt
- 第2节_石油和煤_重要的烃详解.ppt
- 私营企业主的高效转介绍讲述.pptx
- 种族歧视?美国民众纵火抗议弗格森案讲述.ppt
- 第2节操作系统设备管理实现详解.ppt
- springbooot+vue基于java的房屋维修系统毕业论文.doc
- 中国消防救援学院《单片机系统实验》2023-2024学年第一学期期末试卷.doc
- 2025年溧阳纺织化学品项目申请.pptx
- 景区门票包销合同模板(3篇).docx
- 【股票技术指标学习指南】第七章第三节货币需要量的测算.doc
- 2025春 _ 人教版七年级英语下册【unit4】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit5】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit6】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit7】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit8】看音标写单词.doc
最近下载
- 公司绿化养护方案.pdf VIP
- 《农村公路技术状况评定标准》(JTG 5211—2024) .pdf VIP
- 患者跌倒、坠床的应急预案和处置流程.pptx VIP
- 事业单位考试职业能力倾向测验(医疗卫生类E类)试题及解答参考(2024年).docx VIP
- 第18讲 电容器 带电粒子在电场中的运动(学生版) 2025届高考物理一轮复习考点精讲精练(全国通用).pdf VIP
- 2023微细气泡技术 超细气泡水分散体系的存储和运输.pdf VIP
- 广西充电站可行性研究报告.docx VIP
- 中药材 黄芪 第1部分:种子种苗繁育技术规程.docx VIP
- 2025《期末模拟练习》语文八上-试卷.pdf VIP
- 高盛“最惊艳的中国制造业分析”报告.docx
文档评论(0)