文档详情

chap 1 Linux操作系统概述.ppt

发布:2017-11-12约7.4千字共41页下载文档
文本预览下载声明
Linux操作系统概述 叶保留 yebl@nju.edu.cn 南京大学计算机科学与技术系 主要内容 Linux的基本知识 Linux的内核代码结构 堆栈基本概念 什么是Linux Linux是一个类Unix(Unix-like)的操作系统,第一个版本发行于1991年 在不同的语境下,“Linux”具有不同的内涵,如 Linux内核 Linux系统 Linux开发套件等术语 严格来说,Linux指的是Linux Torvalds维护的(及通过主要和镜像网站发布的)内核。 GNU/Linux GNU/Linux的拥护者们认为,Linux仅仅是指Linux内核,而整个Linux系统的大部分都建立在GNU软件之上。 Linux的发展史 1991年11月,芬兰赫尔辛基大学的 Linus Torvalds写了个小程序,取名为Linux,放在互联网上。 希望借此搞出一个操作系统的“内核”来,这完全是一个偶然事件。 1993年,在一批高水平黑客参与下,诞生Linux 1.0 版 1994年,Linux 的第一个商业版 Slackware 问世 1996年,美国国家标准技术局的计算机系统实验室确认 Linux 版本 1.2.13(由 Open Linux 公司打包)符合 POSIX 标准 2001年,Linux2.4版内核发布 2003年,Linux2.6版内核发布 …… Linux的主要内容 Linux是免费的、源代码开放的、符合POSIX标准规范的操作系统 拥有现代操作系统具有的所有内容,例如 抢占式多任务处理,支持多用户 内存保护 支持SMP 支持TCP/IP 支持绝大多数的32位和64位CPU 等 还有一些其他操作系统没有的特色,比如 NFS,VFS,高效的EXT系列文件系统等 Linux的内核版本 Linux内核版本是由Linus Torvalds作为总体协调人的Linux开发小组(分布在各个国家的近百位高手)开发出的系统内核的版本号 Linux内核采用的是双树系统 一棵是稳定树,主要用于发行 另一棵是非稳定树或称为开发树,用于产品开发和改进 Linux内核版本号由3位数字组成 主流的Linux发行版本 Linux系统的目录结构 典型Linux操作系统的结构 Linux内核组成 进程调度程序负责控制进程访问CPU。 内核管理程序使多个进程安全地共享主存系统,并支持虚拟内存。 虚拟文件系统抽象了不同硬件设备的细节,提供公共文件接口。 网络接口提供对许多建网标准和网络硬件的访问。 进程间通信子系统为进程与进程之间的通信提供了一些机制。 linux内核是单块结构,而windows体系结构是微内核。 Linux环境下请求处理的完成 主要内容 Linux的基本知识 Linux的内核代码结构 堆栈基本概念 Linux核心源码结构 Linux核心源码的组织 arch 目录:包含所有体系结构相关的核心代码。 include 目录:包括用来重构核心的大多数include文件。 init目录:包含核心启动代码。 mm目录:包含所有的内存管理代码。 drivers目录:系统中所有的设备驱动都位于该目录中。 ipc目录:包含核心的进程间通讯代码。 modules目录:仅仅包含已建好的模块。 fs目录:所有的文件系统代码。 kernel目录:主要核心代码,与处理器结构相关代码都放在arch/kernel目录下。 net目录:核心的网络部分代码。 lib 目录:包含核心的库代码。与处理器结构相关库代码被放在arch/lib/目录下。 scripts目录:包含用于配置核心的脚本文件(如awk和tk脚本)。 Linux内核源码的组成 系统启动与初始化 在基于intel的系统上,Linux可以通过loadlin.exe或者LILO将核心载入内存并将控制传递给它。 这部分程序 位于arch/i386/kerneld/head.s。 此文件完成一些处理器相关操作并跳转到init/main.c中的main()例程。 内存管理 主要位于mm目录里,但与处理器结构相关部分在arch/mm中。 页面出错处理代码位于mm下的 memory.c文件中 内存映射与页面cache代码位于filemap.c中 buffer cache则在mm/buffer.c中实现 swap cache位于mm/swap_state.c和mm/swapfile.c中 Linux内核源码的组成(续) 核心 大多数通用代码位于kernel目录下,而处理器相关代码被放在arch/kernel中。 调度管理程序位于kernel/sched.c fork代码位于kernel/fork.c 底层部分处理及中断处理代码位于include/linux/interrupt
显示全部
相似文档