第2章_计算机软件基础_Linux简介详解.ppt

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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.

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档