走进Linux内核 西安邮电学院 陈莉君.

Slides:



Advertisements
Similar presentations
CNKI 知识资源总库 应用培训 内容要点 一、知网及产品体系 二、新版检索平台 三、基础功能演示 四、应用案例演示 五、实际操作.
Advertisements

Linux管理与应用 Linux 诞生历史 主讲教师:张美平. 主要内容 Linux诞生的几个要素及背景 GNU项目 Linux系统诞生与发展过程.
高校教师、高级项目经理 任铄 QQ : 第一章 操作系统引论 1.1 操作系统的目标和作用 1.2 操作系统的发展过程 1.3 操作系统的基本特性 1.4 操作系统的主要功能 1.5 OS 结构设计.
高级服务器设计和实现 1 —— 基础与进阶 余锋
Linux 系统. 操作系统发展需求 1 没有操作系统 2 简单批处理操作系统 3 多道程序设计的批处理 4 多道程序设计的分时操作系统 5 多处理机并行系统 6 网络操作系统 7 分布式操作系统.
ASP .NET 程序设计(C#版) 第二版 机械工业出版社同名教材 配套电子教案
——Windows98与Office2000(第二版) 林卓然编著 中山大学出版社
C++面试笔试精要 张立伦 讲师的CSDN博客地址
网页设计师的职业成长规律 主讲:刘万辉 淮安信息职业技术学院.
宿州学院经济管理系 第十章 管理的创新职能 二00九年五月.
Linux基礎學習 課本:Ubuntu Linux 管理與架站實務 博碩文化出版發行.
靜宜大學專用 PowerPoint 檔案 數位教材
实用操作系统概念 张惠娟 副教授 1.
关于本门课程.
基于解释性语言的手机跨平台架构 Sloan Yi. Qt MTK.
《数据库原理及应用》课程介绍 信息工程学院 孙俊国
Red Hat Enterprise Linux简介
Kvm异步缺页中断 浙江大学计算机体系结构实验室 徐浩.
第4章 作業系統的介紹及操作.
DM81X 视频采集处理 ——MCFW框架介绍 广州创龙电子科技有限公司
Linux 的一些事儿 系统管理 宁波市高校慕课联盟课程
嵌入式系统课程简介 宋健建 南京大学软件学院 2004/02/10.
R in Enterprise Environment 企业环境中的R
陈香兰 助教:陈博、李春华 Spring 2009 嵌入式操作系统 陈香兰 助教:陈博、李春华 Spring 2009.
存储系统.
大学计算机基础 典型案例之一 构建FPT服务器.
SVN服务器的搭建(Windows) 柳峰
走进编程 程序的顺序结构(二).
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
文件读写实践 广州创龙电子科技有限公司 01 广州创龙电子科技有限公司
第五讲 四则运算计算器(一) 精品教程《C#程序设计与应用(第2版)清华大学出版社 谭恒松 主编
Erlang emulator 实现分析 2007/10.
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
本节我们结合AD5724驱动时序给大家介绍一下状态机在实际工程中的使用。
第二章 Linux简介 Linux概述 Linux系统的特点 Linux中使用的应用程序 Linux的组成 Linux版本介绍
中国科学技术大学计算机系 陈香兰(0551- ) Spring 2009
Windows 7 的系统设置.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
三:基于Eclipse的集成开发环境搭建与使用
Unit 11.Operating System 11.1 What’s OS 11.2 Related Courses
何勉 新浪微博: Scrum框架及其背后的原则 原始图片 何勉 新浪微博:
Linux Programming: Overview
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
C语言程序设计 主讲教师:陆幼利.
微机系统的组成.
VisComposer 2019/4/17.
实验四、TinyOS执行机制实验 一、实验目的 1、了解tinyos执行机制,实现程序异步处理的方法。
实验一 体验Nachos下的并发程序设计 陈毅东 2006年春.
Platform Builder使用介绍 WINCE系统应用开发流程说明 ACTION RDC 杨 涛 2005.Dec.3th
实验七 安全FTP服务器实验 2019/4/28.
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
本节内容 Win32 API中的宽字符 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
JSP实用教程 清华大学出版社 第2章 JSP运行环境和开发环境 教学目标 教学重点 教学过程 2019年5月7日.
iSIGHT 基本培训 使用 Excel的栅栏问题
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
临界区问题的硬件指令解决方案 (Synchronization Hardware)
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
中国科学技术大学计算机系 陈香兰(0551- ) Spring 2009
Python 环境搭建 基于Anaconda和VSCode.
本节内容 Windows线程切换_时钟中断切换 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
_08文件操作 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司 官网地址:
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
学习数据结构的意义 (C语言版) 《数据结构》在线开放课程 主讲人:李刚
第六讲 酒店客房管理系统(二) 教育部“十二五”职业教育国家规划教材
实验六、COM类型病毒分析实验 实验开发教师: 刘乃琦 谌黔燕.
2019/9/19 互联网产业、立法与网规 张钦坤 腾讯法务部.
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
Presentation transcript:

走进Linux内核 西安邮电学院 陈莉君

Linux是一匹自由而奔放的黑马 诞生于学生之手 成长于Internet 壮大于自由而开放的文化

Linux之父- Linus Torvalds 芬兰、赫尔辛基大学、1990 起始于写两个进程 然后写驱动程序、文件系统、任务切换程序,从而形成一个操作系统的邹形。 9

内核的入口-硬件平台 硬件基础-X86保护模式 硬件设计与操作系统之关系 20

硬件基础-X86保护模式 寻址方式的演变 硬件中的分段 硬件中的分页 参考书:保护模式下80386及其编程

操作系统设计的取舍 舍弃硬件提供的段机制 充分享用硬件提供的各种特权

Linux内核源代码 7

采用的语言 GNU 的C语言 http://www.faqs.org/docs/learnc/ AT&T的汇编 Linux Assemlby Programming: DOS vs. AT&T Syntax.

Linux操作系统的心脏-Kernel …… 模 块 硬件 文件系统 进程管理 进程间通信 内存管理 网络 内核 系统调用 应用软件 内核状态 用户状态 或 应用软件 ……

Linux内核体系结构

OS跳动的动力-中断 “ 中断-无处不在 时钟中断-整个操作系统活动的动力

父-子-孙共存的系统必然是一个并发的系统 内核的核心-进程 “ Fork()——新进程呱呱落地 , 但仅是父亲的一个克隆 Exec()-新进程脱胎换骨,离家独立, 开始了独立工作的职业生涯 父-子-孙共存的系统必然是一个并发的系统

解开PCB的面纱 “ PCB——一个数据结构而已 struct task_struct { … }

进程调度-有条不紊的使者 “ schedule()函数 调度算法 调度时机 进程切换

虚拟内存管理-最复杂的机制 “ 地址映射机制 请页机制 内存分配和回收机制 交换机制 缓存和刷新机制

虚拟文件系统-抽象的体现 用户空间 用户程序 内核空间 系统调用对应的内核函数sys_read() 等 虚拟文件系统VFS   用户空间 内核空间 系统调用对应的内核函数sys_read() 等 支撑VFS的具体文件系统   用户程序 文件系统的系统调用接口,包括read()、write()、open()、close()等   虚拟文件系统VFS   Minix Ext2 … FAT … 设备文件

系统调用-内核的出口 POSIX API和系统调用 操作系统就是系统调用的集合 应用程序的可移植性

驱动程序-内核级程序开发的场所 驱动程序开发的一般步骤 字符设备与块设备 参考书:《Linux Device Driver》

模块-内核的插口 模块程序编写的一般步骤 注册模块和注销模块 参考书:《The Linux Module programming Guide》

如何组织学生阅读源代码 打基础 分模块 定期讨论 远期目标

为什么要阅读操作系统源代码 最基础 各种知识的综合应用 各种数据结构和算法的具体应用 培养读代码的基本功

嵌入式Linux的开发 Linux在中国

开源文件的蔓延 通过Internet Linux爱好者的参与 商业公司的加入 政府的支持

中文Linux网站 中国Linux论坛http://www.linuxforum.net http://www.linuxfans.org/nuke/index.php

开源项目 共创软件联盟的开发源码库http://cosoft.org.cn/ 丰富的源码库http://sourceforge.net/

政府支持如虎添翼 政府采购看准开放标准 政府软件采购招标中, Linux中标.

如火如荼的培训 Linux发布者 培训机构

Linux教学层次 Linux的使用 系统管理 应用程序的开发 内核级的开发

组织开源软件大赛 计算机学会 开源组织 出版行业

Linux应用现状 Linux主要应用于软件供应商、学术界及ASP、ISP公司,主要用于服务器平台,嵌入式系统,桌面环境欠缺。 开放源代码软件的使用符合国家和民族的利益,这样可以避免依赖某一个公司的产品。 软件产业正处于转型期,从PC时代靠销售软件产品的版权来赢利逐渐向Internet时代以软件服务为主。Linux是代表。

Linux应用现状 Linux在市场不断取得成功,IBM、Sun、Oracle、Intel、苹果等著名IT公司纷纷加入Linux的阵营 开放源码不断深入,微软受到挑战 开放源代码软件模式更有利于解决软件中存在的安全缺陷。

Linux发展方向 提供更多高性能的驱动程序,是Linux普及和广泛应用的关键。

我与Linux 著作 教材 译著 《Linxu操作系统原理与应用》清华大学出版社 《Linux操作系统内核分析》 内核2.0 -指定为中科院考博参考书 《深入分析Linux内核源代码》内核2.4 译著 《Understanding The Linunx Kernel》第一版(内核2.2),第二版(内核2.4) 《Linunx Kernel Development》第一、二版(内核2.6) 教材 《Linxu操作系统原理与应用》清华大学出版社

“内核之旅”网站 http://www.kerneltravel.net 电子杂志 1.搭建Linux试验系统实例:学生通过亲手构建系统的过程,消除对Linux的恐惧感 2. 构建一个简易操作系统(一个可启功的操作系统) 3. 编写Shell解释程序 4.编写自己的系统调用 5.编写一个内存映射 6.编写一个内核共享链表同步访问的程序 7.实现一个文件系统 写自己的Shell解释器

提问 基本命令的学习 字符和图形界面程序的开发 Linux内核源码学习 内核级编程 Email:cljun@xiyou.edu.cn 基本命令的学习 字符和图形界面程序的开发 Linux内核源码学习 内核级编程