Linux的学习

Linux的学习

ID:81525134

大小:431.50 KB

页数:110页

时间:2023-09-05

上传者:U-24289
Linux的学习_第1页
Linux的学习_第2页
Linux的学习_第3页
Linux的学习_第4页
Linux的学习_第5页
Linux的学习_第6页
Linux的学习_第7页
Linux的学习_第8页
Linux的学习_第9页
Linux的学习_第10页
资源描述:

《Linux的学习》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方嵌入式Linux应用开发班本课程采用理论教学与实验相结合的方式,系统地介绍嵌入式Linux下环境和程序开发技术。通过本课程的学习,学员可以掌握嵌入式Linux的环境搭建过程,具备Linux下进程、网络、GUI、数据库的开发方法,为产品开发打下坚实的基础。课程目标包括:       1)熟悉Linux操作系统具体操作       2)熟悉嵌入式Linux系统开发的整体流程       3)熟悉嵌入式Linux进程及进程间通信       4)能够熟练编写Linux应用程序,包括网络、图形、数据库等有志进行嵌入式Linux系统开发环境下应用程序开发工程师学员学习本课程应具备下列基础知识:       ◆具备计算机基础知识;       ◆具备C语言编程基础;       ◆了解Linux基本操作。◆《嵌入式Linux应用开发班培训讲义》       ◆《嵌入式Linux应用程序开发标准教程》第2版  华清远见教材编写组编著课程进度安排(最新更新日期:2010.03.10)时间课程大纲第一天9:00|12:001嵌入式Linux开发环境搭建目标:通过今天课程的学习,学员能掌握嵌入式Linux的开发流程,掌握诸如tftp、nfs等Linux下服务器的配置方法,为嵌入式Linux的高效开发做铺垫。      1.1嵌入式LINUX简介与发展      1.2LINUX快速入门      1.3建立嵌入式LINUX开发环境      1.4熟悉嵌入式开发平台      1.5嵌入式LINUX开发工具      1.6LINUX下的调试技巧      1.7----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

1----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方MAKE工程管理器      1.8交叉编译13:00|16:00【实验】      1、学习LINUX系统命令      2、配置TFTP服务      3、配置NFS服务      4、建立嵌入式开发环境      5、下载内核到嵌入式平台      6、下载根文件系统      7、编写并下载应用程序到嵌入式平台第二天9:00|12:002嵌入式LINUX进程及进程间通讯开发目标:通过今天课程的学习,学员将了解到Linux系统中的进程的概念,从内核的角度了解进程的原理和实现。同时会掌握Linux下守护进程的编写方法,了解Linux下几种进程间通讯的方法,并具备编写进程间通讯编程的能力。      2.1进程的属性和状态      2.2进程的控制和调度      2.3进程的创建、执行、消亡      2.4进程的相关系统调用      2.5守护进程      2.6进程间通信基本概念      2.7管道(PIPE)      2.8信号(SIGNAL)      2.9内存映射(MAPPEDMEMORY)      2.10消息队列(MESSAGEQUEUE)      2.11----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

2----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方信号量(SEMAPHORE)      2.12共享内存(SHAREMEMORY)13:00|16:00【实验】      1、使用PS命令查看进程信息      2、使用PROC文件系统查看进程信息      3、使用SYSTEM()系统调用运行和等待      4、EXIT和EXEC系统调用实例      5、编写一个守护进程      6、编写基于串口通信的多进程程序第三天9:00|12:003嵌入式Linux下的网络开发目标:通过今天课程的学习,学员能了解网络的基础知识,了解Linux下的网络结构和套接字编程,具备Linux下网络程序设计的能力。      3.1ISO/OSI七层协议模型与IP网络四层模式      3.2TCP/IP协议簇      3.3基于嵌入式LINUX的TCP/IP网络结构      3.4基于嵌入式LINUX的SOCKET编程      3.5UDP与TCP的区别      3.6UDPSERVER-CLIENT关系程13:00|16:00【实验】      1、SOCKET套接字编程      2、分析并加强PING程序      3、TFTP服务器设计第四天4嵌入式GUI与数据库开发----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

3----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方9:00|12:00目标:通过今天课程的学习,学员能够了解嵌入式Linux下的几种常见GUI及其特点,重点能掌握QT的有关内容,具备QT程序设计能力。了解嵌入式数据库的配置与开发。      4.1嵌入式LINUXGUI介绍及QT/MINIGUI之间比较      4.2QT介绍及其信号插槽机制      4.3QT图形界面编程技术      4.4QVFB虚拟帧缓存的建立和模拟开发调试      4.5QT程序移植技术      4.6QT在实际项目中具体应用      4.7嵌入式数据库的概念      4.8嵌入式数据库的移植与编程13:00|16:00【实验】      1、基于QT实现HELLOWORLD对话框程序      2、建立主机虚拟帧缓存实验      3、基于QT图形界面的温度计的实现第五天9:00|16:005综合项目实践“基于QT的网络通信系统”目标:经过前几天的学习,学员基本上掌握了嵌入式linux常用的应用编程方法,今天通过一个综合项目案例巩固、加深前面的知识,并使学员了解嵌入式Linux项目开发流程。      5.1项目实现的功能            5.1.1QT界面设计            5.1.2网络消息传输功能            5.1.3网络文件传输功能            5.1.4系统管理功能      5.2项目涉及到的技术            5.2.1----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

4----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方项目流程及项目管理方法            5.2.2QT界面开发            5.2.3QT多线程            5.2.4QT网络编程            5.2.5Linux文件操作            5.2.6Qt移植(软件移植到S3C2440开发平台)            5.2.7程序优化、测试(包括:内存泄漏、系统调用跟踪、函数执行时间及频率检测、coredump处理等)----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

5----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方嵌入式Linux系统开发班参加嵌入式linux系统开发培训班可以使学员快速掌握嵌入式系统开发的流程,系统移植的方法,Bootloader的原理,可以编写自己的Bootloader。学习本课程的学员能够从事嵌入式系统相关的项目开发。学员学习本课程应具备下列基础知识:       ◆熟练使用Linux操作系统;       ◆熟悉C语言编程和汇编语言编程;       ◆对ARM处理器有一定的了解。◆《华清远见-嵌入式Linux系统开发培训讲义》◆《嵌入式Linux系统开发标准教程》(第2版)    华清远见教材编写组编著课程进度安排(最新更新日期:2010.03.10)时间课程大纲第一天9:00|12:001嵌入式Linux开发环境构建目标:通过今天课程的学习,学员能掌握嵌入式Linux交叉开发环境的搭建、交叉编译工具链的使用、交叉编译工具链制作的原理、及学会通过crosstool制作自己的交叉工具链。      1.1交叉开发环境介绍      1.2编译交叉开发工具链      1.3配置主机开发环境      1.4建立交叉开发环境      1.5编译器和二进制工具详解      1.6交叉调试应用程序13:30|16:30【实验】      (1)安装开发工具和文件      (2)配置超级终端/minicom      (3)----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

6----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方配置TFTP网络服务      (4)配置NFS网络服务      (5)引导目标板启动Linux内核      (6)制作crosstool交叉工具链      (7)交叉调试应用程序第二天9:00|12:002开发系统引导程序目标:理解嵌入式linux引导程序的原理,掌握如何在FS2410硬件平台上移植u-boot。      2.1Bootloader介绍      2.2u-boot工程介绍      2.3u-boot的编译使用      2.4u-boot源码分析      2.5u-boot资源分配      2.6u-boot移植过程13:30|16:30【实验】      (1)u-boot常用命令      (2)添加u-boot新命令      (3)设置u-boot环境变量      (4)配置编译u-boot      (5)移植FS2410的u-boot-1.3.4            ●支持网卡、串口功能            ●支持从nor、nandflash启动            ●支持nor、nandflash烧写            ●支持yaffs2、jffs2文件系统烧写            ●支持u盘文件读取第三天----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

7----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方9:00|12:003配置编译Linux内核目标:熟悉内核的原码结构和kbuildMakefile语法;掌握和内核、驱动模块编译相关的原理及方法。      3.1Linux内核介绍      3.2Linux内核特点      3.3Linux内核源代码结构      3.4Linux内核选项解析      3.5Linux内核编译链接      3.6内核模块编译、使用方法13:30|16:30【实验】      (1)配置交叉开发环境      (2)熟悉菜单配置文件的组织结构      (3)熟悉内核配置过程选项      (4)加入Kconfig新选项      (5)编译交叉开发环境所需要的内核      (6)在内核中加入自己的字符设备程序第四天9:00|12:004移植Linux内核源码目标:通过今天课程的学习,学员能够熟悉内核启动流程、掌握内核移植的一般方法、分析平台相关代码结构,并能够自己动手移植高版本内核支持FS2410开发板。      4.1Linux内核移植介绍      4.2Linux内核移植平台相关代码分析      4.3动手修改Linux内核源代码      4.4分析编译过程错误和宏定义的关系      4.5----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

8----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方Linux启动过程源代码分析      4.62.6内核平台设备结构介绍13:30|16:30【实验】      (1)配置编译高版本的Linux内核      (2)移植高版本(linux-2.6.26)内核支持FS2410板            ●网卡驱动移植            ●mtd支持及flash分区方法            ●yaffs2文件系统移植            ●sd卡驱动            ●液晶支持            ●u盘功能      (3)分析解决编译过程中的错误第五天9:00|12:005集成部署Linux系统目标:理解嵌入式linux引导程序的原理,掌握如何在FS2410硬件平台上移植u-boot。      5.1Linux文件系统制作      5.2Linux系统集成测试      5.3文件系统和存储设备的选择      5.4部署Ramdisk文件系统的过程      5.5部署JFFS2文件系统的过程      5.6部署Yaffs2文件系统的过程13:30|16:30【实验】      (1)制作最小的文件系统      (2)添加udev支持      (3)部署ramdisk文件系统      (4)----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

9----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方部署cramfs文件系统      (5)部署jffs2文件系统      (6)部署yaffs2文件系统      (7)配置u-boot使系统独立运行第六天9:00|12:006调试Linux内核及优化linux内核目标:掌握内核调试的常用方法、内核优化的方法策略。      6.1Linux内核调试概述      6.2Linux内核的打印函数      6.3Linux内核启动过程错误分析      6.4解析oops信息      6.5常用调试方法和工具      6.6基本的驱动程序分析      6.7系统启动时间优化      6.8电源管理方法            ●动态、静态功耗介绍            ●嵌入式处理器对电源管理的支持            ●嵌入式linux电源管理结构            ●用户层电源管理策略            ●设备驱动层电源管理策略13:30|16:30【实验】      (1)通过基本调试手段解决内核启动过程错误      (2)分析、处理oops错误      (3)优化系统,加快系统启动速度      (4)优化系统,降低系统功耗----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

10----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方嵌入式Linux驱动开发培训班开放的Linux受到广泛的欢迎,得到越来越多公司的支持,但是阻碍Linux在各个领域广泛应用的主要因素就是内核/驱动高端人才极度缺乏,Linux源代码中85%是设备驱动,嵌入式系统中驱动程序更为重要,几乎每一个嵌入式系统都是从驱动程序员手中调试出来的。然而面对巨大的市场需求,国内很难找到一家专门系统培训Linux驱动工程师的培训机构,因为培训难度大,对老师的经验和知识面要求高,大部分培训机构的课程仅仅对Linux浅尝即止,难以达到培养Linux高水平人才的目的。       嵌入式linux驱动培训是华清远见的金牌课程,本课程融合了讲师多年的项目开发经验,这些经验无疑是学员短期内提升驱动开发水平最有效的捷径。驱动程序开发是嵌入式Linux项目中工作量最大的一部分内容,开发出高质量的驱动程序是项目成功的关键。随着产品上市周期的缩短,市场对于驱动程序开发人员的要求也在日益增加。本课程旨在培养具备开发Linux下驱动程序的人才,采用理论教学与实验相结合的方式,系统地介绍Linux下设备驱动程序开发过程。通过本课程的学习,学员可以掌握Linux下字符设备、块设备、网络设备、framebuffer设备、sd卡等驱动程序、usb驱动的开发,同时掌握嵌入式Linux的系统开发和分析方法学员学习本课程应具备下列基础知识:       ◆ 熟练使用Linux操作系统,如学员具有一定的Linux内核阅读经验,效果会更好;       ◆ 熟悉C语言,熟悉指针、结构体等概念;       ◆ 了解接口电路和数字电路的知识,最好具有电路设计经验。◆《华清远见-嵌入式Linux驱动开发培训讲义》       ◆《Linux设备驱动开发详解》(2008.01出版)华清远见编著课程进度安排(最新更新日期:2010.03.10)时间课程大纲第一天学习目标    通过本课学习,学员可以从用户设备I/O编程角度深入了解设备驱动的原理;通过了解字符设备驱动框架和具体硬件设备I/O操作,能够进行字符设备驱动开发;了解linux2.6内核的设备模型及掌握udev的使用。9:00|12:001.LINUX字符设备驱动程序开发    1.1LINUX字符设备驱动基础    1.2字符设备驱动程序实现框架与典型驱动分析    1.3用户空间与内核空间的数据传输    1.4----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

11----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方同步、互斥、阻塞、睡眠机制    1.5Linux-2.6设备模型与sysfs文件系统    1.6udev与devfs文件系统13:00|16:00【实验】    1、驱动开发编程环境与内核配置、编译    2、编写模块化字符设备驱动程序与测试    3、如何为内核程序传递参数    4、在驱动代码中加入创建proc结点方法    5、蜂鸣器驱动程序编写与测试    6、编写驱动实现包含等待队列、信号量、fifo等功能    7、学会利用udev和sysfs文件系统动态创建设备结点第二天学习目标    通过本课学习,学员可以掌握在基本字符设备驱动的基础上增加复杂的内核机制;了解1inux内核中断子系统的实现原理,掌握linux中断处理程序编写方法;掌握内核延时机制及内存管理机制。9:00|12:002.设备驱动中常用的内核机制    2.1Poll和select操作    2.2异步通知机制    2.31inux内核中断子系统    2.4中断处理程序编写    2.5驱动程序上/下半部处理与延缓执行机制    2.6内核定时器与延迟机制    2.7内核内存管理机制13:00|16:00【实验】----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

12----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方    1、编写驱动实现包含等待队列、信号量、fifo等功能    2、编写驱动实现包含poll功能    3、编写驱动实现包含异步通知功能    4、编写秒表字符设备,掌握定时器用法    5、编写驱动实现tasklet功能    6、编写驱动实现工作队列功能    7、按键中断实验    8、A/D转换实验第三天学习目标    通过本课学习,学员可以明白Linux中块设备驱动的特点及框架,独立分析Linux中大部分块设备的驱动方法,并熟悉MTD设备驱动的特点与框架,具备MTDNandFlash驱动程序开发的能力。通过实验,学员还可以掌握IDE、Ramdisk驱动移植方法。9:00|12:003.LINUX块设备驱动程序开发    3.1块设备及其驱动的特点    3.2块设备驱动程序中两个关键结构体GEN_DISK与REQUEST    3.3块设备驱动程序的注册与请求处理    3.4MTD设备的特点以及与块设备的关系    3.5MTD设备驱动的框架及关键结构体分析    3.6S3C2410(S3C2440)中的NANDFLASH控制器分析    3.7S3C2410(S3C2440)NANDFLASHMTD驱动分析13:00|16:00【实验】    1、编写简单的块设备驱动程序    2、实现RAMDISK驱动    3、IDE硬盘的驱动移植    4、移植S3C2410闪存控制器驱动    5、配置MTD内核选项    6、移植嵌入式文件系统第四天----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

13----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方学习目标    网络设备是嵌入式产品开发,特别是基于网络的产品开发中最重要的内容之一。通过本课学习,学员可以深入理解Linux网络驱动程序中有关套接字(socket)、套接字缓冲区(sk_buff)等概念,了解网络驱动程序的数据交换过程。通过实际的动手操作,学员将掌握如何移植或编写具体网卡的驱动程序,并在此基础上实现更为高级的网络功能。了解MMC/SD卡的物理及电气特性,熟悉相关的工作协议,并在此基础上能够移植或编写Linux下的MMC/SD控制器的驱动程序。9:00|12:004.LINUX网络设备驱动程序开发    4.1OSI网络参考模型    4.2套接字(SOCKET)简介    4.3套接字缓冲区(SK_BUFF)    4.4NET_DEVICE结构分析    4.5数据包传送与接收    4.6网络驱动的中断处理    4.7网络设备驱动程序的基本实现5.LINUX下MMC/SD卡驱动开发    5.1嵌入式系统中几种常见存储介质的比较(NOR/NANDFLASH、CF、MMC/SD)    5.2MMC/SD卡物理及电气规范简介    5.3MMC/SD卡工作中的关键命令及关键结构信息    5.4S3C2410(S3C2440)中MMC/SDHOST控制器分析    5.5LINUX中MMC/SD存储卡驱动程序结构分析    5.6S3C2410(S3C2440)中MMC/SDHOST控制器的驱动实现13:00|16:00【实验】----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

14----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方    1、编写简单的虚拟以太网卡驱动程序    2、移植并编写CS8900A网卡驱动程序    3、移植并编写DM9000网卡驱动程序    4、配置网络参数,测试网卡驱动程序行为    5、MMC/SD协议分析    6、在LINUX源码中加入针对ARM平台的MMC/SD主控制器驱动的支持第五天学习目标    通过本课学习,学员可掌握嵌入式Linux显示驱动程序的开发方法,理解嵌入式Linux图形驱动程序实现机制,能够移植或编写嵌入式显示控制器驱动程序,并完成针对各种LCD硬件的定制。9:00|12:006.LINUX帧缓冲驱动程序开发    6.1帧缓冲显示技术    6.2帧缓冲驱动程序显示原理    6.3帧缓冲驱动程序的数据结构    6.4帧缓冲驱动程序的API    6.5帧缓冲驱动程序的基本实现    6.6使用高级图形库7.触摸屏驱动开发    7.1触摸屏工作原理    7.2S3C2410触摸屏控制器工作原理    7.3触摸屏驱动程序编写13:00|16:00【实验】    1、熟悉FRAMEBUFFER驱动的结构    2、熟悉FRAMEBUFFER中的重要数据结构    3、编写S3C2410彩色LCD控制器驱动程序    4、编写测试程序控制屏幕显示    5、编译高级图形库例子,显示图形    6、熟悉触屏驱动程序    7、写触屏测试代码----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

15----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方第六天学习目标    掌握USB通讯规范及拓扑结构中的主机控制器、HUB、USB设备的工作流程;掌握S3C2410USBdevice控制器的工作原理;最后在S3C2410开发板上编写usbtransfer固件程序,结合PC机上windows环境下的DNW软件,实现基于usb的文件下载功能。通过Linux下USB驱动开发内容的学习,学员将深入理解Linux内核USB子系统,掌握USB驱动程序编写技术。经过学习后的学员能够移植或编写USB主机OHCI和设备驱动程序,最后通过对usbtransfer设备的驱动编程,实现在linux环境下的文件下载功能(替换DNW的下载功能)。9:00|12:008.LINUX下USB驱动开发基础    8.1USB规范介绍    8.2USB主机控制器    8.3USBHUB    8.4USB设备状态    8.5USB描述符    8.6USB请求    8.7USB通讯数据格式    8.8S3C2410USBdevice控制器    8.9编写usbtransfer固件程序9.LINUX下USB驱动高级开发    9.1LinuxUSB驱动层次    9.2LinuxUSB主机控制器驱动介绍    9.3LinuxUSBHUB驱动介绍    9.4LinuxUSB设备驱动程序    9.5编写usbtransfer设备驱动程序    9.6编写usbtransfer设备应用程序【实验】----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

16----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方13:00|16:00    1、在开发板上烧写并测试USB固件程序    2、usbtransfer固件程序分析与编写    3、使用usbview工具观察USB设备    4、使用sysfs分析USB层次结构    5、LINUX下编写usbtransfer设备驱动实现USB下载----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

17----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方Linux内核修炼培训班通过本课程的学习,学员可以:       1)全面认识和了解Linux内核的框架,并以此为基础掌握学习Linux内核、分析阅读Linux内核源码的方法,真正地迈过那道无形的门坎。       2)掌握、分析、钻研某个子系统在Linux内核中实现机制的方法,并了解Linux内核中的进程管理、内存管理、文件系统。       3)了解如何参与Linux内核的开发和测试,以及一些常用的调试手段和工具。       4)掌握Linux设备驱动的开发方法。       5)掌握Android运行所需要的Linux内核开发和技巧。学员学习本课程应具备下列基础:       ◆能够使用Linux操作系统。       ◆掌握C语言基础。       ◆熟悉操作系统基础理论。◆《华清远见Linux内核修炼培训班培训讲义》课程进度安排(最新更新日期:2010.04.28)时间课程大纲第一天学习目标    全面认识和了解Linux内核的框架,掌握学习Linux内核、分析阅读Linux内核源码的方法。9:00|12:00第1章Linux内核的基本面      1.1Linux内核成长史      1.2多变的Linux内核版本号      1.3获取Linux内核的源代码      1.4ALinux内核与那些发行版      1.5----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

18----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方Linux内核是如何工作的          ·“Linux虚拟机”——系统调用          ·台前——文件系统          ·幕后——进程调度          ·幕后——内存管理          ·模块化的Kernel第2章Linux内核的按需配置与编译      2.1按需配置Linux内核          ·配置方式的多种选择          ·认识常见的配置选项          ·重视.config文件      2.2为Linux内核打补丁      2.3编译Linux内核          ·认识一些与编译有关的目录与文件          ·构建编译环境          ·备份是重要得          ·编译步骤          ·一些实用的小技巧      2.4Linux内核的文档及编译      2.5【实验】配置、编译Linux2.6内核第3章浏览Linux内核源码      3.1所需的技术基础      3.2Linux内核的体系结构      3.3Linux内核源码树      3.4使用vim+cscope+ctags      3.5Linux内核代码的特点          ·gcc扩展的使用          ·内嵌汇编      3.6Linux内核中的链表      3.7代码样例      3.7【实验】配置vim浏览内核源码----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

19----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方第4章如何分析Linux内核源码      4.1Linux内核学习的心理问题      4.2kernel地图:Kconfig与Makefile          ·看懂Kconfig与Makefile          ·利用Kconfig与Makefile定位目标代码      4.3分析Linux内核源码如何入手          ·分析README          ·分析Kconfig与Makefile          ·态度决定一切:从初始化函数开始      4.4【实验】定位并分析某个子系统或模块在内核中的实现第二天学习目标    掌握分析钻研某个子系统在内核中实现机制的方法,了解内核中的进程管理、内存管理、文件系统。9:00|12:00第5章开始之前——Beforewebegin      5.1系统初始化      5.2Linux内核中的时间      5.3系统调用      5.4中断与中断处理      5.5Linux内核中的同步第6章子系统的初始化      6.1Linux内核选项解析          ·Linux内核选项          ·注册Linux内核选项          ·两次解析      6.2----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

20----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方那些入口函数          ·.initcall.init节          ·do_initcalls()函数      6.3以PCI子系统为例      6.4【实验】分析某个子系统的初始化过程第7章进程管理与调度      7.1Linux中的进程      7.2进程的来源:fork和clone      7.3所有美好的事物都会结束:进程退出      7.4内核线程      7.5进程调度          ·O(1)调度          ·CFS调度      7.6不确定的Multi-thread第8章内存管理      8.1物理地址、逻辑地址与虚拟地址      8.2分页      8.3内存在内核中的分配      8.4进程的内存组织      8.5内存映射mmap      8.6页面缓存第9章虚拟文件系统VFS      9.1VFS的体系结构      9.2理解VFS的那些数据结构      9.3VFS的缓存机制      9.4文件系统的注册与安装      9.5文件系统的日志管理第三天学习目标    了解如何参与Linux内核的开发和测试,以及一些常用的调试手段和工具。----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

21----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方9:00|12:00第10章IntentReceiver      10.1工具链及其生成      10.2Linux内核中的Makefile      10.3严格遵守Linux内核的编码风格      10.4添加代码到Linux内核      10.5为什么Linux内核没有稳定的API?      10.6如何提交补丁      10.7学会使用Git      10.8【实验】安装Git并用它来来获取最新的Linux内核源码第11章一些最上镜的Linux内核调试手段与工具      11.1Linux内核对调试的支持      11.2二分法与printk      11.3获取Linux内核信息      11.4调试福音之oops      11.5神奇的SysRq      11.6调试利器之GDB      11.7调试利器之Systemtap      11.8Linux内核崩溃转储      11.9利用模拟器      11.10【实验】分析一个oops      11.11【实验】配置GDB调试环境并调试Linux内核第12章子系统的初始化      12.1Linux内核测试的4个阶段      12.2----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

22----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方性能分析与调优工具          ·CPU性能分析与调优          ·Memory性能分析与调优          ·IO性能分析与调优          ·Network性能分析与调优      12.3oprofile      12.4启动速度调优      12.5【实验】Linux内核性能测试并提交Linux内核测试报告第四天学习目标    掌握驱动的开发方法,掌握Android运行所需要的Linux内核开发和技巧。9:00|12:00第13章驱动开发的方法论      13.1模块化的Linux内核      13.2第一个模块“HelloWorld!”      13.3重中之重:设备模型          ·总线、设备和驱动          ·在USB子系统上的投影      13.4驱动开发三件宝:spec、datasheet与Linux内核源码      13.5sysfs      13.6【实验】结合设备模型分析一个Linux内核中现有的驱动      13.7【实验】编写一个简单的模块第14章Android环境的相关介绍      14.1Android的历史和介绍      14.2Android和Linux的扯不清理还乱的关系      14.3取得Android的源代码和编译生成可执行环境      14.4Android源代码构成和运行原理      14.5加入新的处理器支持到Android框架第15章移植Android所需要的Linux内核      15.1Android运行所需要对Linux内核作的修改      15.2----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

23----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方Android对现有驱动所必须做的修改          ·键盘、鼠标驱动和键值映射          ·显示驱动          ·audio驱动      15.3编译和拓展Android的启动分区boot.img      15.4Android的启动过程分析和调试技术      15.5【实验】生成一个可供Android启动的Linux内核      15.6【实验】制作和生成一个可运行的boot.img第16章实现Android的硬件抽象层      16.1Android的硬件抽象层的原理和构成      16.2实现ril,完成Android的移动网络功能支持      16.3libhardware_legacy接口      16.4libhardware接口      16.5蓝牙支持      16.6【实验】将一个wifi驱动加入Android硬件抽象层----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

24----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方ARM开发培训班ATC的英文全称是ApprovedTrainingCenter,即授权培训中心。ARMATC就是指ARM公司授权的培训中心。目前ARM公司在包括英国、德国、美国、日本、韩国、台湾、新加坡等多个发达国家和地区设立了这样的授权培训中心,获得授权的公司都是在当地拥有雄厚技术实力,在业界有相当知名度的公司。ATC培训的讲师全部都要接受ARM公司的专业技术培训,并取得ARM公司颁发的培训讲师资格认证证书。参加的学员可以直接获得全球同步的最新ARM课程培训,并能获得由ARM公司和被授权公司联合颁发培训结业证书。       2007年初,ARM公司正式宣布华清远见成为ARM授权培训中心,成为国内首家获得ARM公司授权的专业嵌入式培训机构。华清远见作为国内领先的嵌入式培训机构,成立以来一直走高端嵌入式培训路线,培训对象主要锁定在在职工程师,每年给嵌入式行业贡献数以千计的优秀工程师,其实用的课程内容、雄厚的师资实力给培训学员留下深刻印象本课程在涵盖了ARM公司授权培训课程全部内容基础上,结合项目实际,进一步增加了更多丰富的实用内容,例如ARM接口开发,从零编写bootloader引导Linux系统,大约占全部课程的40%内容,这些内容不仅为其他课程打下坚实基础,而且可以使学员具备更强的实际动手能力,更贴近企业用人需求。本课程的升级同时得到了ARM公司的首肯和大力支持。学员学习本课程应具备下列基础知识:       ◆熟悉C语言;       ◆熟悉汇编语言;       ◆了解嵌入式系统的基本知识◆培训教材:《ARM系列处理器应用技术完全手册》华清远见编       ◆《华清远见ARM开发培训班讲义》       ◆《华清远见ARM开发培训班实验指导》课程进度安排(最新更新日期:2010.03.10)时间课程大纲第一天学习目标    第一天的课程主要帮助学员了解ARM体系结构及工作原理,掌握ARM指令集,学会操作ARM处理器基本方法。9:00|12:001ARM体系结构    1.1ARM简介    1.2ARM体系结构    1.3----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

25----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方流水线    1.4处理器工作模式    1.5ARM处理器核2ARM指令集    2.1V4T指令    2.2V5TE指令    2.3V6指令    2.4Thumb指令13:00|16:00实验    1、使用RealViewMDK环境构建基本工程    2、基本ARM指令练习    3、数据搬运练习第二天学习目标    为提高系统的综合性能,“ARM和Thumb交互”是工程师在实际编程常用的一种方式。通过本天课程的学习,学员可以了解Thumb指令的特点,掌握ARM和Thumb指令交互方法。“异常”作为处理器的一种特殊工作方式在系统工作中扮演着重要的角色,本期课程也将帮助学员掌握ARM平台异常产生的过程和处理方法。9:00|12:003ARM与Thumb交互    3.1交互工作基础    3.2子程序交互和veneers    3.3ARMV5TE架构扩展4RealViewMDK开发工具介绍5异常处理    5.1中断处理    5.2Abort处理    5.3SWI----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

26----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方处理    5.4复位和未定义指令处理13:00|16:00实验:    1、ARM/Thumb交互    2、Thumb下的块拷贝实验    3、异常处理实验第三天学习目标    虽然汇编指令可以完成我们所需要的所有功能,但相对C语言来说,汇编语言存在编写复杂、可读性差等缺点,所以在实际的项目开发中,工程师通常会使用C或C++等高级语言来编写主程序部分。通过第三天课程的学习,学员可以掌握汇编、c、c++混合编程的方法,完成对目标平台的软件编程,更好的熟悉嵌入式软件的开发流程。9:00|12:006C/C++编译器提示和技巧    6.1arm编译优化础    6.2汇编、c、c++混合编程    6.3arm编译器规则    6.4局部和全局变量7嵌入式软件编程    7.1调整c库使其适合目标平台    7.2调整内存映射使其适合目标平台    7.3复位和初始化    7.4编译和调试目标镜像13:00|16:00实验:    1、C语言程序实验    2、汇编和C混合编程实验    3、调整C库和内存映射,编写能够在目标硬件运行的LED测试程序第四天----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

27----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方学习目标    在学习完了理论知识后,该进入实践环节了。嵌入式编程最终目标还是对接口设备的操作。通过第四天课程的学习,学员可以掌握基于ARM的嵌入式硬件平台接口设计以及各种常用接口的开发。9:00|12:008基于ARM的嵌入式硬件平台接口设计    8.1基于ARM的SOC组成    8.2构建ARM嵌入式系统9嵌入式硬件平台(基于s3c2410/s3c2440)接口操作    9.1GPIO接口    9.2ADC接口    9.3UART接口    9.4I2C接口    9.5定时器    9.6中断接口    9.7DMA接口13:00|16:00实验:    1、GPIO实验    2、ADC实验    3、UART实验    4、定时器实验    5、中断实验    6、DMA实验第五天学习目标----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

28----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方    单个接口的操作最终还是要为一个综合的软件项目服务,bootloader在嵌入式操作系统中占用重要地位,其编写、移植是一项常见而复杂的工作。通过第五天课程的学习,学员即能够通过这个综合的软件项目将前面的主要内容融会贯通,还可以掌握bootloader原理及开发过程,掌握和bootloader相关的接口开发,了解嵌入式操作系统的结构及启动流程等。9:00|12:0010从零编写bootloader    10.1嵌入式linux系统的构成    10.2引导程序的任务    10.3引导程序的结构及启动流程    10.4实现串口下载功能    10.5实现usb下载功能    10.6实现nandflash读写功能    10.7引导linux内核13:00|16:00实验:    1、bootloader编写实验(基于realviewMDK环境)    2、linux系统编译实验    3、制作文件系统实验    4、bootloader通过USB下载内核、文件系统实验----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

29----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方嵌入式Linux实时系统开发培训班嵌入式Linux得到了广泛应用,一些特定嵌入式应用要求Linux提供强实时性能,例如工业控制、航空应用等众多场合。针对Linux实时性改进,有多种解决方案,如RTLinux/RTAI/Xenomai的双内核方式和MontaVista等商业Linux内核补丁方式。    华清远见推出“嵌入式Linux实时系统开发”课程,针对不断扩大的嵌入式Linux实时应用需求,提供专业的、高端嵌入式Linux核心人才培训。本课程融合了培训中心多位讲师多年项目开发和研究经验,为学员实现短期内进行Linux内核实时开发提供有效的捷径。本课程针对嵌入式Linux实时系统开发包含以下内容:1)嵌入式Linux实时性能分析;2)嵌入式Linux实时性改进;3)编写符合实时内核的设备驱动和内核模块;4)编写实时Linux系统应用;5)对嵌入式Linux系统进行实时性评测和瓶颈分析等几个方面,提供从实时内核到实时应用编程等几个方面的培训,通过课程学习与掌握,学员可以构建一个符合特定性能指标的实时系统,进行相关项目深入开发。Linux高级软件工程师、Linux系统驱动开发工程师及内核开发人员。学员学习本课程应具备下列基础知识:    ◆熟练使用Linux系统,具备Linux下C语言应用编程经验。    ◆熟悉Linux内核编程,具备Linux驱动编程经验。    ◆具备一定的体系结构开发基础知识。 ◆《华清远见-嵌入式Linux实时系统开发培训讲义》       ◆《Linux设备驱动开发详解》(2008.01出版)华清远见编著       ◆《Linux内核开发》(第二版)RobertLove著课程进度安排(最新更新日期:2010.03.10)时间课程大纲第一天学习目标    通过本课学习,学员可以了解实时操作系统性能分析,Linux的实时化技术发展以及相关的资源。通过Linux实时应用例子认识普通Linux内核实时性能瓶颈。掌握嵌入式Linux实时性能分析方法。9:00|12:001.嵌入式Linux实时性能分析    1.1实时操作系统性能评估方法    1.2Linux的实时化技术发展及相关资源    1.3----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

30----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方Linux内核性能瓶颈    1.4Linux内核性能分析13:00|16:00【实验】    实验1:嵌入式平台高精度定时延迟测试    实验2:嵌入式平台周期性任务延迟测试    实验3:嵌入式平台内核延迟综合测试第二天学习目标    通过对Linux内核进行实时抢占改进,了解实时内核调度与抢占、实时内核锁机制、实时内核中断线程化等原理,掌握内核锁机制使用、设备驱动中断编写等内核编程技术。掌握实时内核测试原理,以及常用测试工具选用与编写。9:00|12:002.嵌入式Linux实时性改进    2.1实时内核调度与抢占    2.2实时内核锁机制分析    2.3实时内核中断线程化技术    2.4其他内核模块实时性改进13:00|16:00【实验】    实验1:针对特定嵌入式平台进行内核实时抢占改进    实验2:分析实时Linux的内核性能并进行实时性测试第三天学习目标    通过对Linux内核进行优化配置,增强Linux内核实时性能。结合实时抢占内核新特性进行高效设备驱动编程,对原有设备驱动进行改进。9:00|12:003.符合实时内核的设备驱动和内核模块编程    3.1实时抢占内核配置与移植    3.2在设备驱动中使用锁机制、高精度定时器等技术    3.3对原有设备驱动进行实时化改造【实验】----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

31----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方13:00|16:00    实验1:实时设备驱动编程例子    实验2:设备驱动实时改造例子第四天学习目标    掌握Linux实时应用编程,掌握用户级优先级继承互斥机制、实时信号,实时时钟系统等实时编程技术。了解Linux实时性评测理论,掌握系统瓶颈分析工具使用,对特定平台进行性能测试与性能分析。9:00|12:004.实时Linux应用编程与系统实时性评测    4.1Linux实时应用编程    4.2内核与用户层结合进行实时编程    4.3内核实时性评测和系统瓶颈分析    4.4对特定平台进行性能分析综合13:00|16:00【实验】    实验1:高精度定时与周期性控制任务例子    实验2:优先级继承互斥机制使用    实验3:对特定平台进行实时和非实时性能分析比较----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

32----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方Linux内核开发研修班本课程培养的学员可以掌握Linux2.6系统的内核原理,比较细致的了解内核架构,从庞大的代码堆中解放出来。通过学习本课程,学员可以:       1)了解内核调度算法的实现       2)了解linux内存管理       3)了解linux中断嵌入式系统开发工程师、有志于钻研Linux系统内核的程序员学员学习本课程应具备下列基础知识:       ◆熟练使用Linux操作系统;       ◆熟悉C语言编程和汇编语言编程;       ◆熟悉数据结构知识;       ◆对操作系统有一定的了解。◆《Linux内核开发培训讲义》       ◆《Linux内核设计与实现》陈莉君/康华/张波/等译 课程进度安排(V3.0)时间课程大纲课程内容第一天9:00|12:00第1章内核基本结构简介1.1简要介绍2.6内核1.22.6内核和2.4比较1.3最新内核技术介绍第2章进程调度和抢占内核实现分析2.1O(1)调度器分析2.2内核锁机制分析2.3内核抢占技术分析13:30|16:30实验课内核性能测试1)熟悉2.6内核编译配置2)编译运行2.6内核3)编译运行内核测试工具4)内核测试报告第二天----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

33----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方9:00|12:00第3章内存管理3.1Linux-i386的段式存储和页式管理3.2四级页表树和Linux的进程地址空间分布3.3mm,vma结构和HighMem支持3.4Linux的物理内存组织3.5objrmap、cold/holdpage以及NUMA支持13:30|16:30第3章内存管理3.6VM的策略:请求分页、写时复制,交换和页面置换(Token-based)3.7Linuxpagefault3.8内核缓冲区管理:slab分配器第三天9:00|12:00第3章内存管理3.9页核心分配器和NUMA内存分配策略3.10页帧换出守护进程:kswapd3.11写时复制实现3.12页面换入实现13:30|16:30第4章内核中的定时实验课高精度定时器的实现4.1内核中的定时4.2高精度定时实验:内核高精度定时的实现第四天9:00|12:00第5章中断和异常5.1IA-32平台上的中断概述以及APIC介绍5.2Linux的硬件中断模型和内核出入口图5.3Linux对中断的响应和服务13:30|16:30第5章中断和异常5.4BottomHalf机制5.5软中断的实现5.6tasklet5.7工作队列5.8Linux对异常的实现----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

34----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方第五天9:00|12:00第6章系统调用和IPC实验课系统调用6.1系统调用实现分析6.2IPC实现简要分析实验:系统调用设计和IPC实验13:30|16:30第7章文件系统实验课基于NANDFLASH文件系统7.1文件系统介绍7.22410Yaffs实现文件系统实现分析实验:Yaffs在2410上的移植----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

35----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方就业培训通过本课程的系统学习,可以使学员由浅入深地对嵌入式Linux系统全面学习,能够独立胜任嵌入式Linux应用开发、系统开发、驱动开发等多方面工作。课程目标包括:    1.精通linux操作系统使用;    2.精通linux下C语言高级编程;    3.精通嵌入式linux高级应用开发;    4.掌握ARM处理器平台及其接口硬件开发;    5.精通嵌入式Linux内核裁减移植及内核调试技巧;    6.精通嵌入式Linux下Bootloader的编写方法;    7.精通嵌入式Linux下常用接口的驱动开发;    7.了解嵌入式Linux在3G领域的典型应用-Android系统;    9.了解WinCE系统的应用开发及底层开发    10.掌握嵌入式linux实际项目案例开发流程第一阶段:嵌入式Linux软件工程师§培训时间:3周§职场定位:LinuxDevelopmentEngineerforSoftwareEngineering§本期目标:嵌入式系统是现在最热门的计算机应用领域之一,嵌入式C语言在其中起着至关重要的作用。一个精通C语言程序设计的程序员,可以很容易地进入Linux、WinCE、Vxworks等嵌入式操作系统下的软件开发工作。本阶段学习目标是掌握C语言基本知识、C编程语法基础和Linux操作系统的使用,并熟练掌握嵌入式Linux的开发环境,为将来的编程工作打基础。·序号课程名称课程内容掌握要求1Linux操作系统使用本课程从零起点,讲解Linux操作系统的概念和安装方法,详细介绍Linux下的基本命令、管理配置和编辑器,包括VI编辑器,GCC编译器,GDB调试器和Make项目管理工具等知识。精通2嵌入式LinuxC语言高级编程精通----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

36----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方C语言是嵌入式领域最重要也是最主要的编程语言,本课程将在学员C语言基础知识之上,通过大量编程实例重点讲解C语言的高级编程知识,包括函数与程序结构、指针、数组、常用算法、库函数的使用等知识,另外,本节还重点讲解数据结构的基础内容,包括链表、队列、栈、树、哈希表、图等内容。3C++面向对象编程C++是Linux应用开发主要语言之一,本节重点让学员掌握面向对象编程的基本思想,以及C++语言的基础内容,为后面的课程做好铺垫。掌握4嵌入式Linux项目开发流程本课程主要让学员从宏观了解嵌入式Linux开发环境搭建和项目开发流程,让学员建立起整体架构的概念,包括嵌入式产品需求分析和选型、硬件平台、移植、启动代码、驱动开发、系统部署等整个过程。掌握第二阶段:嵌入式Linux系统工程师§培训时间:8周§职场定位:LinuxDevelopmentEngineerforEmbeddedSystems§证书:ARM公司全球统一认证证书(认证费500元)§本期目标:参加本期培训的学员应该掌握嵌入式C语言编程技巧。嵌入式Linux应用开发和系统开发是嵌入式Linux中最重要的一部分,也是企业人才需求最广的一部分。本期学习的主要目标是精通嵌入式Linux下的程序设计,熟悉嵌入式Linux开发流程,强化学员对Linux应用开发的理解和编码调试的能力,同时掌握bootloader和kernel的移植技能,了解ARM体系结构和编程,具备ARM硬件接口的基础知识,并了解Linux内核开发相关内容,初步掌握Linux下的驱动程序开发方法。本期课程还重点讲解嵌入式Linux在3G领域的典型应用--3G手机Android操作系统,全面了解Android系统的开发过程及行业前景。最后通过几个典型的企业全真案例,进一步巩固本期课程内容,使学员真正学以致用。·序号课程名称课程内容掌握要求5嵌入式Linux高级应用编程精通----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

37----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方嵌入式Linux应用开发是嵌入式Linux中最重要的一部分,也是就业面最广的方向。本课程的主要目标是精通嵌入式Linux下的程序设计,精通嵌入式Linux开发环境,强化学员对Linux应用开发的理解和编码调试的能力,包括系统编程、文件I/O、多进程和多线程、网络编程、GUI图形界面编程、数据库。6ARM处理器编程ARM是嵌入式领域最主要的CPU处理器,了解ARM处理器的基础知识将为后面课程的底层开发打好坚实基础,本课程内容包括ARM处理器体系结构、编程环境、指令集、寻址方式、调试、汇编和混合编程等方面的内容,为后面移植课程的学习打好基础。学完此课程学员可获得ARM公司全球统一授权培训证书。掌握7ARM硬件接口开发本课程重点介绍ARM的常用接口开发及硬件电路设计基础(包括IO、串口、看门狗、实时时钟、SPI、IIC、扫描键盘、FLASH操作等),为以后的设备驱动的学习打好基础。了解8嵌入式Linux系统开发系统开发是嵌入式Linux底层开发必备的基本技能,本课程将教会学员在硬件电路板做好的情况下,如何从零开始搭建嵌入式Linux运行环境,内容包括内核裁减、内核移植、交叉编译、内核调试、启动程序Bootloader编写、根文件系统制作和集成部署Linux系统等整个流程。精通9嵌入式Linux内核开发本课程是驱动开发的基础课程,深入内核细节,了解Linux相关运行机理,为后面的驱动开发打好理论基础,内容包括内核源码结构、内存管理、进程管理、中断管理、系统调用、内核同步、时钟和定时器管理、信号、调度、进程间通信、文件系统和I/O设备管理等方面的内容。了解10嵌入式Linux驱动开发基础掌握----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

38----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方介绍嵌入式Linux驱动开发相关概念及开发流程,了解驱动涉及到的关键技术点,并重点学习字符设备驱动开发,包括串口、I/O、看门狗、实时时钟、SPI、IIC、扫描键盘、A/D转换、定时器等接口的驱动开发,为第三期课程深入学习驱动高级开发打好基础。11嵌入式Linux在3G领域的典型应用--3G手机Android操作系统介绍嵌入式Linux在3G领域的典型应用Android系统,了解Android系统如何由嵌入式Linux衍生出来的,以及Android系统和嵌入式Linux系统差异化,了解Android系统的体系结构、开发特点以及关键技术点,并重点学习ARM对Android系统的支持现状,掌握ARM平台上的Android相关开发工具和解决方案,重点讲解Android系统在ARM平台上的移植过程,介绍Android系统底层驱动开发和嵌入式Linux驱动开发的差异化,最后介绍ARM+Andriod平台组合的行业应用前景,使学员全面了解Android系统的开发过程及发展前景。了解12综合案例的实战训练在第二阶段课程中,为了帮助学员充分有效地掌握核心知识点在企业中的具体应用,并开始逐步按照企业需求、流程和规范进行实战训练,在嵌入式Linux应用开发、系统内核开发的课程讲授过程中全部采用项目驱动的方式,将来自合作企业的全真案例贯穿于课程中,实现的功能包括:基于本机多进程的聊天工具、基于QT的即时通讯系统、基于ARM的温控系统、汽车防盗系统及基于QT的多媒体播放器等。通过这种方式带领学员分析企业岗位的真实技术需求,进行案例演练,从而快速掌握相关的技能和开发技巧。精通第三阶段:嵌入式Linux驱动工程师§培训时间:5周----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

39----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方§职场定位:EmbeddedLinuxDriverDevelopmentEngineer§证书:嵌入式学院《嵌入式Linux工程师职业资格证书》(认证费800元),微软嵌入式工程师认证证书(认证费500元),工业和信息化部《国家信息技术应用技能嵌入式Linux工程师认证证书》(认证费500元),Atmel公司全球统一《Atmel嵌入式工程师认证证书》(认证费500元)§本期目标:参加本期培训的学员应该掌握嵌入式Linux应用开发和系统开发能力。本期学习的主要目标是掌握嵌入式产品开发从需求分析到详细设计整个过程的开发内容,深入掌握Linux驱动程序开发技巧,能够熟练的移植或编写设备驱动。另外,本期课程还会让学员了解另外一个比较重要的嵌入式操作系统:WindowsCE,使学员在掌握嵌入式Linux的同时,也了解WindowsCE的开发方法,拓展学员的知识面,丰富学员的知识结构。最后,本期将重点花一个月时间,让学员从零开始完整完成一个真实项目的设计,使学员在巩固所学内容的同时,迅速积累项目设计经验,达到并超过企业用人需求,另外,通过实际项目案例,可以发现学员知识薄弱环节进行重点加强。目前嵌入式学院提供的真实项目包括:远程视频监控系统、商用POS机、汽车导航GPS、个人娱乐系统PMP,每期学员可完整完成其中一个项目。·序号课程名称课程内容掌握要求13嵌入式Linux驱动高级开发驱动开发是嵌入式Linux开发难度最高的内容,也是目前嵌入式行业最紧缺的人才之一。有了前面课程知识的铺垫,本课程将重点讲解嵌入式Linux下常用接口驱动的编写方法,内容包括:1、flash驱动:掌握在linux环境下驱动常见flash存储器(norflash、nand精通----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

40----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方flash);2、块设备驱动:掌握块设备驱动的原理、学会ramdisk的编写;3、网卡驱动:掌握网卡设备的编写原理、能够熟练移植各种网卡驱动。在对网卡硬件寄存器熟悉的基础上,有能力为其编写出完善的网卡驱动;4、液晶驱动:掌握frambuffer驱动的原理。有能力在有控制器的嵌入式平台上参考液晶手册实现各种常见液晶驱动;5、sd卡驱动:掌握sdio接口操作,熟悉sd卡驱动驱动的原理;6、usb设备驱动:了解usb主机设备驱动的结构及编程方式。14WinCE操作系统开发基础WindowsCE是目前另外一个最主流的嵌入式操作系统,嵌入式学院利用自身在WindowsCE系统方面的教学优势,使学员了解WindowsCE应用开发和系统开发的特点,并对比Linux操作系统,让学员了解目前主流嵌入式OS的异同点,增进对嵌入式OS开发的理解,拓展学员知识面,增加就业渠道。学完此课程学员可获得Microsoft公司全球统一授权培训证书。了解15嵌入式Linux项目实践本课程将通过一个真实完整的项目案例,让学员了解真实项目的开发流程,让学员知道如何将所学知识应用到项目开发中。本课程将模拟真实项目的管理过程,培养学员项目团队协同开发能力,项目文档编写能力和新知识的学习能力,为下一步就业做好知识上和心理上的充分准备。目前学员在嵌入式学院可完成的真实项目包括:远程视频监控系统、商用POS机、汽车导航GPS、个人娱乐系统PMP、3G智能机器人,学员可在嵌入式学院学习期间独立完成其中一个项目。掌握----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

41----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方课程名称嵌入式软件系统初级开发副标题Linux安装管理编程及ARM体系结构预备知识具备电子技术基本知识,了解模拟电路和数字电路的基本知识,能够识别常见电子元器件具备C语言,了解基本的语法和控制流程具备必备的英语知识,能够阅读英语文档不熟悉Linux的安装、管理和编程,对Redhat9.0的安装、配置、管理不熟悉,对Linux编程不熟悉,可以报本班。已经熟悉Linux安装、管理和编程的学员可以直接报中级或高级班不熟悉ARM体系结构及汇编,对ARM9系列芯片的体系结构和汇编指令不熟悉、可以报本班。已经熟悉ARM9体系结构和汇编指令的学员可以直接报中级或高级班培训方式本课程采用国际主流的ARM硬件开发平台及Linux操作系统软件开发平台,以嵌入式项目的开发过程和方法为主线,通过“项目驱动、案例导向”进行启发式教学,每天培训均由理论讲解和动手实践,学员边学边做,并由资深教师辅导答疑,结合案例培养动手能力和解决实际问题能力。课程描述本课程主要介绍Linux开发环境和ARM体系结构。本课程是后续课程的基础课程。培训目标通过学习学员可以达到以下目标n熟悉Linux的安装、配置n熟悉Linux系统管理的基础知识和常用命令n熟悉Linux网络管理的基础知识和常用命令n熟悉Linux系统编程和网络编程n熟悉ARM系列体系结构和汇编指令企业参加培训可以达到以下目标n新员工培训,快速熟悉Linux安装、配置、管理和编程,熟悉主流ARM体系结构和汇编指令,培养独立解决问题能力,缩短新员工进入实际项目时间n员工技术储备,了解嵌入式主流硬件ARM体系结构,了解Linux管理和编程n技术升级及产品更新换代,将过去已有的8位单片机系统升级为32位ARM嵌入式系统,将过去汇编语言软件升级为嵌入式Linux操作系统课程日程安排第一天Linux和嵌入式开发环境----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

42----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方上午嵌入式系统开发概述n现实中的嵌入式系统n嵌入式系统的概念嵌入式系统的组成n嵌入式硬件平台n嵌入式软件平台n嵌入式应用程序Linux和嵌入式系统开发环境nLinux开发平台的搭建n台式机Linux和嵌入式Linux的关系及移植n台式机Linux与嵌入式Linux系统的通信下午Linux的安装和配置nLinux的历史和各种发行版nRedhat9.0的安装过程和安装设置nRedhat9.0安装包的选择nRedhat9.0桌面应用程序n实验1:安装REDHAT9.0通过本实验指导学员熟悉使用PC机作为开发工具,安装REDHAT9.0,正确选择软件包,正确设置网络参数,熟悉REDHAT9.0各种桌面应用软件第二天Linux系统管理和网络管理上午Linux系统基本管理n系统登录和退出Linux文件系统管理n文件系统介绍nLinux目录结构n文件和目录操作Linux进程管理n进程管理n查看系统状态实验1:Linux文件管理和进程管理通过本实验指导学员熟悉Linux的启动、停止,登录和退出,熟悉Linux文件系统和目录结构,熟悉进程概念及进程管理,熟悉如何查看系统状态Linux用户管理n用户和用户组管理n文件属性和控制权限Linux软件管理n软件安装和卸载----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

43----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方n软件压缩和解压缩实验2:Linux用户管理和软件管理通过本实验指导学员熟悉用户和用户组概念,熟悉Linux权限控制,熟悉常见软件压缩和解压缩,熟悉软件安装和卸载下午Linux网络管理nTCP/IP基础nLinux网络管理Linux网络服务管理n网络服务的启动、停止和状态n常见网络服务的配置(NFS客户端/服务器,TFTP客户端/服务器,FTP客户端/服务器)实验3:Linux网络管理通过本实验指导学员熟悉网卡配置,TCP/IP的设置,常用的网络命令实验4:Linux网络服务管理通过本实验指导学员熟悉网络服务的一般管理,熟悉三种常用的网络服务配置第三天Linux系统编程上午Linux/C编程环境及开发过程和开发工具nGNUC命令行编程环境nMakefile文件n调试n使用Man及相关命令获得帮助nLINUX系统调用机制n基本SHELL程序设计实验1:Linux开发环境配置通过本实验指导学员熟悉Linux编程必备的开发环境,熟悉Makefile的编写,熟悉Shell脚本的编写下午Linux/C多进程开发n进程及进程环境n进程的启动及终止n命令行参数n进程环境变量n进程控制n进程标识nfork创建新进程nwait进程等待nsystem调用系统命令n进程关系n进程组及进程树----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

44----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方nshell执行程序实验2:Linux多进程开发通过本实验指导学员熟悉Linux进程的基本概念,熟悉进程的创建,等待及系统调用,熟悉多进程原理及编程第四天Linux网络编程上午Linux/C网络编程模型n网络编程客户-服务模型n客户-服务模型网络通讯流程n网络协议分析及设计nSOCKET编程接口nSOCKET编程函数nTCP/UDP编程模型n网络客户端编程实验1:Linux网络编程接口及网络客户端编程通过本实验指导学员熟悉Linux网络编程基本原理,socket网络编程接口,网络客户端流程及编程下午Linux/C网络服务器编程n网络服务器编程n绑定、监听、输出、输出、关闭n多进程并发服务器模型实验2:Linux网络服务器编程通过本实验指导学员熟悉网络服务器编程,熟悉服务器流程,了解并发服务器编程基本思路第五天ARM体系结构和汇编语言上午嵌入式系统和ARM芯片概述n嵌入式系统概述nARM系列处理器ARM指令系统介绍nARM指令集nThumb指令集n伪指令实验1:ARM硬件平台和芯片体系通过本实验指导学员熟悉ARM开发板硬件平台,ARM芯片结构,ARM寄存器,ARM指令下午ARM开发板入门及实验nARM开发板硬件资源nARM开发板编程实验----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

45----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方实验2:ARM开发环境通过本实验指导学员熟悉ARM开发环境,熟悉ADS开发工具的使用实验3:ARM实验程序通过本实验指导学员熟悉使用ADS开发工具开发基于汇编和C语言开发基本的ARM程序,包括基本指令实验、I/O接口实验、时钟实验等----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

46----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

47----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方课程名称嵌入式软件系统开发副标题ARM与嵌入式Linux应用授课对象嵌入式系统开发人员预备知识具备电子技术基本知识具备微处理器基本知识具备C语言及汇编语言基本知识具备Linux系统管理基础知识具备必备的英语知识,能够阅读英语文档培训方式本课程采用国际主流的ARM硬件开发平台及Linux操作系统软件开发平台,以嵌入式项目的开发过程和方法为主线,通过“项目驱动、案例导向”进行启发式教学,每天培训均由理论讲解和动手实践,学员边学边做,最后安排综合项目案例供学员实习,并由资深教师辅导答疑,结合项目案例培养动手能力和解决实际问题能力。课程描述本课程主要介绍嵌入式软件系统相关的概念及开发流程;介绍嵌入式软件系统开发环境,介绍嵌入式LINUX操作系统原理;介绍嵌入式LINUX应用开发,嵌入式项目案例开发。培训目标通过学习学员可以达到以下目标n理解嵌入式系统和嵌入式软件的基本概念及特点n熟悉嵌入式软件开发的基本特点、基本流程和基本方法n熟悉主流嵌入式Linux操作系统原理、内核定制、驱动程序开发、内核开发n具备嵌入式软件系统独立开发能力及解决问题能力n企业参加培训可以达到以下目标n新员工培训,快速熟悉嵌入式软件开发,学习嵌入式系统开发经验,培养独立解决问题能力,缩短新员工进入实际项目时间n员工技术储备,了解主流开发硬件,熟悉最新嵌入式Linux操作系统原理,掌握嵌入式应用软件开发,了解行业发展动态n现有开发团队技术提升,进一步熟悉嵌入式Linux内核原理,独立完成嵌入式Linux移植,培养独立开发嵌入式驱动程序能力,掌握嵌入式系统开发流程n技术升级及产品更新换代,将过去已有的8位单片机系统升级为32位ARM嵌入式系统,将过去汇编语言软件升级为嵌入式Linux操作系统----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

48----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方课程日程安排第一天嵌入式系统开发流程嵌入式系统开发概述n现实中的嵌入式系统n嵌入式系统的概念嵌入式系统的组成n嵌入式硬件平台n嵌入式软件平台n嵌入式应用程序实验1:熟悉硬件开发平台通过本实验指导学员熟悉本次课程使用的开发平台硬件结构,了解硬件电路原理,了解元件布局,了解板上资源及扩展接口典型嵌入式操作系统以及选型n嵌入式操作系统及嵌入式应用n常见嵌入式操作系统n嵌入式Linux嵌入式系统开发流程n嵌入式系统需求分析及概要设计n嵌入式硬件系统选型及设计n嵌入式软件系统设计及实现n嵌入式系统开发调试及测试n嵌入式系统量产第二天嵌入式系统开发环境基于ARM嵌入式系统硬件nARM处理器指令系统n板上资源、通信接口、输入和输出嵌入式系统开发环境n使用ARM开发平台搭建硬件开发环境实验1:搭建硬件开发平台通过本实验指导学员熟悉使用PC机作为开发工具,熟悉硬件开发板与PC机的连接及通讯n使用PC机及LINUX搭建软件开发环境实验2:搭建软件开发平台通过本实验指导学员熟悉在PC机建立开发集成环境,安装开发工具和文件,配置超级终端n使用GNU工具搭建交叉编译环境实验3:搭建交叉编译环境通过本实验指导学员熟悉使用GNU开发工具,交叉编译应用程序----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

49----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方n使用串口及网络搭建调试测试环境实验4:搭建测试调试编译环境通过本实验指导学员熟悉使用GNU测试工具,观察开发板测试输出第三天嵌入式操作系统原理嵌入式LINUX操作系统引导n嵌入式LINUX操作系统引导原理n嵌入式系统引导器BootLoader编程实验1:移植U-boot到开发板实现系统引导通过本实验指导学员熟悉U-boot引导源码,指导学员在开发板上移植、编译、配置U-boot嵌入式LINUX操作系统内核n选择内核n内核配置n编译内核n安装内核实验2:编译和安装内核通过本实验指导学员熟悉对内核进行剪裁,在开发板上编译、安装内核嵌入式LINUX操作系统开发。体系结构概览。进程、线程与调度管理。内存管理。文件系统。系统调用实验3:Linux系统调用通过本实验指导学员熟悉熟悉文件系统、进程管理、内存管理编程,熟悉系统调用,第四天嵌入式应用程序开发嵌入式网络系统开发nTCP/IP协议基础nSocket网络编程接口n客户端网络编程n服务器网络编程实验1:WEB网络服务器开发通过本实验指导学员熟悉网络编程原理,在开发板上实现WEB服务器嵌入式图形开发。GUI基础知识。嵌入式QT开发。QT体系结构。QT对象。QT窗口部件----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

50----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方实验2:图形介面开发通过本实验指导学员熟悉图形介面开发原理,在开发板上实现简单人机交互界面嵌入式驱动开发 。驱动程序开发概览。流式接口驱动程序。驱动程序体系结构。USB驱动开发实例实验3:USB驱动程序开发通过本实验指导学员熟悉USB硬件接口和编程原理,在开发板上移植USB驱动程序,支持U盘,USB摄像头,USB鼠标键盘第五天嵌入式软件系统开发案例基于ARM的GPRS应用系统设计nGPRS应用系统概述nGPRS系统结构分析n硬件系统设计n软件部分设计n完全源代码剖析n实验、辅导及答疑实验1:GPRS应用案例通过本实验指导学员了解GPRS硬件及工作原理,开发完整的GPRS应用,巩固以前的知识,培养独立解决问题的能力----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

51----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方课程名称嵌入式软件系统高级开发副标题嵌入式Linux内核开发及驱动开发授课对象嵌入式系统开发人员预备知识具备电子技术基本知识具备微处理器基本知识具备C语言及汇编语言基本知识至少具备一种ARM系列芯片知识至少具备一定ARM系列开发经验熟悉Linux系统管理、网络管理和编程具备必备的英语知识,能够阅读英语文档培训方式本课程采用国际主流的ARM硬件开发平台及Linux操作系统软件开发平台,以嵌入式操作系统的开发过程和方法为主线,通过“项目驱动、案例导向”进行启发式教学,每天培训均由理论讲解和动手实践,学员边学边做,最后安排综合项目案例供学员实习,并由资深教师辅导答疑,结合项目案例培养动手能力和解决实际问题能力。课程描述本课程主要介绍嵌入式软件系统相关的概念及开发流程;介绍嵌入式Linux的开发环境,嵌入式系统的引导,嵌入式Linux内核原理,嵌入式Linux内核调试,嵌入式系统性能测试,嵌入式驱动程序开发原理,嵌入式网络设备驱动程序开发,嵌入式USB设备驱动程序开发,嵌入式文件系统开发。培训目标通过学习学员可以达到以下目标n熟悉主流嵌入式Linux操作系统原理、内核定制、驱动程序开发、内核开发n具备嵌入式软件系统独立开发能力及解决问题能力企业参加培训可以达到以下目标n现有开发团队技术提升,进一步熟悉嵌入式Linux内核原理,独立完成嵌入式Linux移植,培养独立开发嵌入式驱动程序能力,掌握嵌入式系统开发流程n技术升级及产品更新换代,将过去已有的8位单片机系统升级为32位ARM嵌入式系统,将过去汇编语言软件升级为嵌入式Linux操作系统课程日程安排----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

52----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方第一天嵌入式开发工具详解及嵌入式Linux引导过程完全剖析嵌入式Linux的开发环境n交叉编译的预备知识nMake命令和Makefile文件nbinutils工具包ngcc编译器nglibc库ngdb调试工具5实验1:搭建嵌入式Linux开发环境通过本实验指导学员熟悉嵌入式Linux开发环境,熟练编写Makefile文件,熟练使用工具完成交叉编译嵌入式系统的引导代码Bootloader的启动流程Vivi配置、编译及源码分析U-Boot命令、编译及代码结构分析U-Boot在ARM开发板上的移植实验2:分析Linux启动流程通过本实验指导学员熟悉嵌入式Linux启动流程,移植u-boot到arm平台第二天嵌入式内核源码剖析及高级调试技巧嵌入式Linux内核原理nLinux内核框架nLinux的进程n调度算法分析nLinux内存管理模式nLinux内核启动流程分析nLinux系统服务n启动Linux内核实验1:编译和安装内核通过本实验指导学员熟悉内核原理,能够对内核进行剪裁,在开发板上编译、安装内核嵌入式Linux内核调试nPrintk()nOops消息n/proc文件系统nKgdbn追踪工具(strace,ltt,gprof,gcov,memwatch)实验1使用printk函数调试Linux内核通过proc文件系统调整系统性能使用kgdb调试Linux内核----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

53----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方第三天嵌入式系统性能测试和驱动程序开发嵌入式系统性能测试n快速启动技术n优化内核应用程序n内存泄漏检测实验2测试系统性能,分析系统瓶颈检测给定程序,查看内存泄漏Linux设备驱动程序开发n设备驱动概述n设备驱动和文件系统的关系n设备类型分类n设备驱动基础n设备驱动中关键数据结构n设备驱动开发中的基本函n驱动程序的设备号n设备驱动模块化编程nPCI总线内核空间和用户空间实验1:GPIO字符设备驱动实例通过本实验指导学员熟悉设备驱动编程基本原理,开发字符设备驱动PCI总线PCI系统体系结构PCI地址空间实验2:PCI设备驱动开发实例通过本实验指导学员熟悉PCI总线体系结构,开发PCI设备驱动第四天嵌入式网络设备驱动程序开发详解网络设备驱动程序开发n网络设备驱动程序简介ndevice数据结构nsk_buff数据结构n内核的驱动程序接口n以太网控制器实验1:网卡驱动程序实例通过本实验指导学员熟悉TCP/IP原理,熟悉Socket底层编程及实现,独立开发网络驱动程序源码剖析:Socket底层源码分析初始化函数、打开函数、关闭函数、发送函数、接收函数、中断处理函数第五天嵌入式USB驱动程序开发详解----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

54----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方USB驱动程序开发nLinux内核对USB规范的支持nOHCI简介nLinux下USB系统文件结点1nUSB主机驱动结构nUSB数据传输时序nUSB设备连接/断开时序n主要数据结构及接口函数n数据传输管道n统一的USB数据传输块实验1:USB设备驱动程序实例通过本实验指导学员熟悉USB接口原理,独立开发USB设备驱动程序实验2:USB文件系统实例通过本实验指导学员熟悉文件系统原理,独立开发USB设备上的文件系统----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

55----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方课程名称嵌入式软件系统高级开发副标题嵌入式Linux内核开发及网络开发授课对象嵌入式系统开发人员预备知识具备电子技术基本知识具备微处理器基本知识具备C语言及汇编语言基本知识至少具备一种ARM系列芯片知识至少具备一定ARM系列开发经验熟悉Linux系统管理、网络管理和编程具备必备的英语知识,能够阅读英语文档培训方式本课程采用国际主流的ARM硬件开发平台及Linux操作系统软件开发平台,以嵌入式操作系统的开发过程和方法为主线,通过“项目驱动、案例导向”进行启发式教学,每天培训均由理论讲解和动手实践,学员边学边做,最后安排综合项目案例供学员实习,并由资深教师辅导答疑,结合项目案例培养动手能力和解决实际问题能力。课程描述本课程主要介绍嵌入式软件系统相关的概念及开发流程;介绍嵌入式Linux的开发环境,嵌入式系统的引导,嵌入式Linux内核原理,嵌入式Linux内核调试,嵌入式系统性能测试,嵌入式驱动程序开发原理,TCP/IP及相关协议体系结构,嵌入式网络设备驱动程序开发。培训目标通过学习学员可以达到以下目标n熟悉主流嵌入式Linux操作系统原理、内核定制、内核开发、驱动程序开发、TCP/IP协议、网络设备和网络驱动n具备嵌入式软件系统独立开发能力及解决问题能力企业参加培训可以达到以下目标n现有开发团队技术提升,进一步熟悉嵌入式Linux内核原理,独立完成嵌入式Linux移植,培养独立开发嵌入式驱动程序能力,掌握嵌入式系统开发流程n技术升级及产品更新换代,将过去已有的8位单片机系统升级为32位ARM嵌入式系统,将过去汇编语言软件升级为嵌入式Linux操作系统课程日程安排----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

56----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方第一天嵌入式Linux引导过程完全剖析及高级调试技巧嵌入式系统的引导代码Bootloader的启动流程U-Boot命令、编译及代码结构分析U-Boot在ARM开发板上的移植实验2:分析Linux启动流程通过本实验指导学员熟悉嵌入式Linux启动流程,移植u-boot到arm平台嵌入式Linux内核调试nPrintk()nOops消息n/proc文件系统nKgdbn追踪工具(strace,ltt,gprof,gcov,memwatch)实验1使用printk函数调试Linux内核通过proc文件系统调整系统性能使用kgdb调试Linux内核第二天嵌入式内核源码剖析嵌入式Linux内核原理nLinux内核框架nLinux的进程n调度算法分析nLinux内存管理模式nLinux内核启动流程分析nLinux系统服务n启动Linux内核实验1:编译和安装内核通过本实验指导学员熟悉内核原理,能够对内核进行剪裁,在开发板上编译、安装内核第三天嵌入式系统性能测试和驱动程序开发嵌入式系统性能测试n快速启动技术n优化内核应用程序n内存泄漏检测实验2测试系统性能,分析系统瓶颈----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

57----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方检测给定程序,查看内存泄漏Linux设备驱动程序开发n设备驱动概述n设备驱动和文件系统的关系n设备类型分类n设备驱动基础n设备驱动中关键数据结构n设备驱动开发中的基本函数n驱动程序的设备号n设备驱动模块化编程nPCI总线内核空间和用户空间实验1:GPIO字符设备驱动实例通过本实验指导学员熟悉设备驱动编程基本原理,开发字符设备驱动PCI总线PCI系统体系结构PCI地址空间实验2:PCI设备驱动开发实例通过本实验指导学员熟悉PCI总线体系结构,开发PCI设备驱动第四天嵌入式网络开发基础网络协议体系结构开发nTCP/IP协议及OSI协议体系n以太网卡相关协议详细剖析nIP协议详细剖析nTCP协议详细剖析nTCP协议状态变化剖析nUDP协议详细剖析nSocket客户端及服务器编程实验1:Socket客户端及服务器编程实例通过本实验指导学员熟悉Socket客户端及服务器编程,熟悉TCP,UDP,IP底层协议细节,熟悉TCP创建、维持、释放的全过程第五天嵌入式网络设备驱动程序开发详解网络设备驱动程序开发n网络设备驱动程序简介nnetdevice数据结构nsk_buff数据结构n内核的驱动程序接口n以太网控制器实验1:DM9000网卡驱动程序实例通过本实验指导学员熟悉网卡及以太网细节,熟悉TCP/IP原理,熟悉Socket底层编程及实现,独立开发网络驱动程序----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

58----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

59----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方课程名称嵌入式软件系统开发副标题ARM与嵌入式Linux应用授课对象嵌入式系统开发人员预备知识具备电子技术基本知识具备微处理器基本知识具备C语言及汇编语言基本知识具备Linux系统管理基础知识具备必备的英语知识,能够阅读英语文档培训方式本课程采用国际主流的ARM硬件开发平台及Linux操作系统软件开发平台,以嵌入式项目的开发过程和方法为主线,通过“项目驱动、案例导向”进行启发式教学,每天培训均由理论讲解和动手实践,学员边学边做,最后安排综合项目案例供学员实习,并由资深教师辅导答疑,结合项目案例培养动手能力和解决实际问题能力。课程描述本课程主要介绍嵌入式软件系统相关的概念及开发流程;介绍嵌入式软件系统开发环境,介绍嵌入式LINUX操作系统原理;介绍嵌入式LINUX应用开发,嵌入式项目案例开发。培训目标通过学习学员可以达到以下目标n理解嵌入式系统和嵌入式软件的基本概念及特点n熟悉嵌入式软件开发的基本特点、基本流程和基本方法n熟悉主流嵌入式Linux操作系统原理、内核定制、驱动程序开发、内核开发n具备嵌入式软件系统独立开发能力及解决问题能力企业参加培训可以达到以下目标n新员工培训,快速熟悉嵌入式软件开发,学习嵌入式系统开发经验,培养独立解决问题能力,缩短新员工进入实际项目时间n员工技术储备,了解主流开发硬件,熟悉最新嵌入式Linux操作系统原理,掌握嵌入式应用软件开发,了解行业发展动态n现有开发团队技术提升,进一步熟悉嵌入式Linux内核原理,独立完成嵌入式Linux移植,培养独立开发嵌入式驱动程序能力,掌握嵌入式系统开发流程n技术升级及产品更新换代,将过去已有的8位单片机系统升级为32位ARM嵌入式系统,将过去汇编语言软件升级为嵌入式Linux操作系统----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

60----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方课程日程安排第一天嵌入式系统开发流程嵌入式系统开发概述n现实中的嵌入式系统n嵌入式系统的概念嵌入式系统的组成n嵌入式硬件平台n嵌入式软件平台n嵌入式应用程序实验1:熟悉硬件开发平台通过本实验指导学员熟悉本次课程使用的开发平台硬件结构,了解硬件电路原理,了解元件布局,了解板上资源及扩展接口典型嵌入式操作系统以及选型n嵌入式操作系统及嵌入式应用n常见嵌入式操作系统n嵌入式Linux嵌入式系统开发流程n嵌入式系统需求分析及概要设计n嵌入式硬件系统选型及设计n嵌入式软件系统设计及实现n嵌入式系统开发调试及测试n嵌入式系统量产第二天嵌入式系统开发环境基于ARM嵌入式系统硬件nARM处理器指令系统n板上资源、通信接口、输入和输出嵌入式系统开发环境n使用ARM开发平台搭建硬件开发环境实验1:搭建硬件开发平台通过本实验指导学员熟悉使用PC机作为开发工具,熟悉硬件开发板与PC机的连接及通讯n使用PC机及LINUX搭建软件开发环境实验2:搭建软件开发平台通过本实验指导学员熟悉在PC机建立开发集成环境,安装开发工具和文件,配置超级终端n使用GNU工具搭建交叉编译环境实验3:搭建交叉编译环境通过本实验指导学员熟悉使用GNU开发工具,交叉编译应用程序n使用串口及网络搭建调试测试环境----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

61----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方实验4:搭建测试调试编译环境通过本实验指导学员熟悉使用GNU测试工具,观察开发板测试输出第三天嵌入式操作系统原理嵌入式LINUX操作系统引导n嵌入式LINUX操作系统引导原理n嵌入式系统引导器BootLoader编程实验1:移植U-boot到开发板实现系统引导通过本实验指导学员熟悉U-boot引导源码,指导学员在开发板上移植、编译、配置U-boot嵌入式LINUX操作系统内核n选择内核n内核配置n编译内核n安装内核实验2:编译和安装内核通过本实验指导学员熟悉对内核进行剪裁,在开发板上编译、安装内核嵌入式LINUX操作系统开发。体系结构概览。进程、线程与调度管理。内存管理。文件系统。系统调用实验3:Linux系统调用通过本实验指导学员熟悉熟悉文件系统、进程管理、内存管理编程,熟悉系统调用,第四天嵌入式应用程序开发嵌入式网络系统开发nTCP/IP协议基础nSocket网络编程接口n客户端网络编程n服务器网络编程实验1:WEB网络服务器开发通过本实验指导学员熟悉网络编程原理,在开发板上实现WEB服务器嵌入式图形开发。GUI基础知识。嵌入式QT开发。QT体系结构。QT对象。QT窗口部件实验2:图形介面开发----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

62----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方通过本实验指导学员熟悉图形介面开发原理,在开发板上实现简单人机交互界面嵌入式驱动开发 。驱动程序开发概览。流式接口驱动程序。驱动程序体系结构。USB驱动开发实例实验3:USB驱动程序开发通过本实验指导学员熟悉USB硬件接口和编程原理,在开发板上移植USB驱动程序,支持U盘,USB摄像头,USB鼠标键盘第五天嵌入式软件系统开发案例基于ARM的GPRS应用系统设计nGPRS应用系统概述nGPRS系统结构分析n硬件系统设计n软件部分设计n完全源代码剖析n实验、辅导及答疑实验1:GPRS应用案例通过本实验指导学员了解GPRS硬件及工作原理,开发完整的GPRS应用,巩固以前的知识,培养独立解决问题的能力----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

63----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方课程名称嵌入式软件系统高级开发副标题嵌入式Linux内核开发及驱动开发授课对象嵌入式系统开发人员预备知识具备电子技术基本知识具备微处理器基本知识具备C语言及汇编语言基本知识至少具备一种ARM系列芯片知识至少具备一定ARM系列开发经验熟悉Linux系统管理、网络管理和编程具备必备的英语知识,能够阅读英语文档培训方式本课程采用国际主流的ARM硬件开发平台及Linux操作系统软件开发平台,以嵌入式操作系统的开发过程和方法为主线,通过“项目驱动、案例导向”进行启发式教学,每天培训均由理论讲解和动手实践,学员边学边做,最后安排综合项目案例供学员实习,并由资深教师辅导答疑,结合项目案例培养动手能力和解决实际问题能力。课程描述本课程主要介绍嵌入式软件系统相关的概念及开发流程;介绍嵌入式Linux的开发环境,嵌入式系统的引导,嵌入式Linux内核原理,嵌入式Linux内核调试,嵌入式系统性能测试,嵌入式驱动程序开发原理,嵌入式网络设备驱动程序开发,嵌入式USB设备驱动程序开发,嵌入式文件系统开发。培训目标通过学习学员可以达到以下目标n熟悉主流嵌入式Linux操作系统原理、内核定制、驱动程序开发、内核开发n具备嵌入式软件系统独立开发能力及解决问题能力企业参加培训可以达到以下目标n现有开发团队技术提升,进一步熟悉嵌入式Linux内核原理,独立完成嵌入式Linux移植,培养独立开发嵌入式驱动程序能力,掌握嵌入式系统开发流程n技术升级及产品更新换代,将过去已有的8位单片机系统升级为32位ARM嵌入式系统,将过去汇编语言软件升级为嵌入式Linux操作系统课程日程安排----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

64----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方第一天嵌入式开发工具详解及嵌入式Linux引导过程完全剖析嵌入式Linux的开发环境n交叉编译的预备知识nMake命令和Makefile文件nbinutils工具包ngcc编译器nglibc库ngdb调试工具5实验1:搭建嵌入式Linux开发环境通过本实验指导学员熟悉嵌入式Linux开发环境,熟练编写Makefile文件,熟练使用工具完成交叉编译嵌入式系统的引导代码Bootloader的启动流程Vivi配置、编译及源码分析U-Boot命令、编译及代码结构分析U-Boot在ARM开发板上的移植实验2:分析Linux启动流程通过本实验指导学员熟悉嵌入式Linux启动流程,移植u-boot到arm平台第二天嵌入式内核源码剖析及高级调试技巧嵌入式Linux内核原理nLinux内核框架nLinux的进程n调度算法分析nLinux内存管理模式nLinux内核启动流程分析nLinux系统服务n启动Linux内核实验1:编译和安装内核通过本实验指导学员熟悉内核原理,能够对内核进行剪裁,在开发板上编译、安装内核嵌入式Linux内核调试nPrintk()nOops消息n/proc文件系统nKgdbn追踪工具(strace,ltt,gprof,gcov,memwatch)实验1使用printk函数调试Linux内核通过proc文件系统调整系统性能使用kgdb调试Linux内核----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

65----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方第三天嵌入式系统性能测试和驱动程序开发嵌入式系统性能测试n快速启动技术n优化内核应用程序n内存泄漏检测实验2测试系统性能,分析系统瓶颈检测给定程序,查看内存泄漏Linux设备驱动程序开发n设备驱动概述n设备驱动和文件系统的关系n设备类型分类n设备驱动基础n设备驱动中关键数据结构n设备驱动开发中的基本函n驱动程序的设备号n设备驱动模块化编程nPCI总线内核空间和用户空间实验1:GPIO字符设备驱动实例通过本实验指导学员熟悉设备驱动编程基本原理,开发字符设备驱动PCI总线PCI系统体系结构PCI地址空间实验2:PCI设备驱动开发实例通过本实验指导学员熟悉PCI总线体系结构,开发PCI设备驱动第四天嵌入式网络设备驱动程序开发详解网络设备驱动程序开发n网络设备驱动程序简介ndevice数据结构nsk_buff数据结构n内核的驱动程序接口n以太网控制器实验1:网卡驱动程序实例通过本实验指导学员熟悉TCP/IP原理,熟悉Socket底层编程及实现,独立开发网络驱动程序源码剖析:Socket底层源码分析初始化函数、打开函数、关闭函数、发送函数、接收函数、中断处理函数第五天嵌入式USB驱动程序开发详解----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

66----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方USB驱动程序开发nLinux内核对USB规范的支持nOHCI简介nLinux下USB系统文件结点1nUSB主机驱动结构nUSB数据传输时序nUSB设备连接/断开时序n主要数据结构及接口函数n数据传输管道n统一的USB数据传输块实验1:USB设备驱动程序实例通过本实验指导学员熟悉USB接口原理,独立开发USB设备驱动程序实验2:USB文件系统实例通过本实验指导学员熟悉文件系统原理,独立开发USB设备上的文件系统----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

67----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方课程名称嵌入式软件系统高级开发副标题嵌入式Linux内核开发及网络开发授课对象嵌入式系统开发人员预备知识具备电子技术基本知识具备微处理器基本知识具备C语言及汇编语言基本知识至少具备一种ARM系列芯片知识至少具备一定ARM系列开发经验熟悉Linux系统管理、网络管理和编程具备必备的英语知识,能够阅读英语文档培训方式本课程采用国际主流的ARM硬件开发平台及Linux操作系统软件开发平台,以嵌入式操作系统的开发过程和方法为主线,通过“项目驱动、案例导向”进行启发式教学,每天培训均由理论讲解和动手实践,学员边学边做,最后安排综合项目案例供学员实习,并由资深教师辅导答疑,结合项目案例培养动手能力和解决实际问题能力。课程描述本课程主要介绍嵌入式软件系统相关的概念及开发流程;介绍嵌入式Linux的开发环境,嵌入式系统的引导,嵌入式Linux内核原理,嵌入式Linux内核调试,嵌入式系统性能测试,嵌入式驱动程序开发原理,TCP/IP及相关协议体系结构,嵌入式网络设备驱动程序开发。培训目标通过学习学员可以达到以下目标n熟悉主流嵌入式Linux操作系统原理、内核定制、内核开发、驱动程序开发、TCP/IP协议、网络设备和网络驱动n具备嵌入式软件系统独立开发能力及解决问题能力企业参加培训可以达到以下目标n现有开发团队技术提升,进一步熟悉嵌入式Linux内核原理,独立完成嵌入式Linux移植,培养独立开发嵌入式驱动程序能力,掌握嵌入式系统开发流程n技术升级及产品更新换代,将过去已有的8位单片机系统升级为32位ARM嵌入式系统,将过去汇编语言软件升级为嵌入式Linux操作系统课程日程安排----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

68----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方第一天嵌入式Linux引导过程完全剖析及高级调试技巧嵌入式系统的引导代码Bootloader的启动流程U-Boot命令、编译及代码结构分析U-Boot在ARM开发板上的移植实验2:分析Linux启动流程通过本实验指导学员熟悉嵌入式Linux启动流程,移植u-boot到arm平台嵌入式Linux内核调试nPrintk()nOops消息n/proc文件系统nKgdbn追踪工具(strace,ltt,gprof,gcov,memwatch)实验1使用printk函数调试Linux内核通过proc文件系统调整系统性能使用kgdb调试Linux内核第二天嵌入式内核源码剖析嵌入式Linux内核原理nLinux内核框架nLinux的进程n调度算法分析nLinux内存管理模式nLinux内核启动流程分析nLinux系统服务n启动Linux内核实验1:编译和安装内核通过本实验指导学员熟悉内核原理,能够对内核进行剪裁,在开发板上编译、安装内核第三天嵌入式系统性能测试和驱动程序开发嵌入式系统性能测试n快速启动技术n优化内核应用程序n内存泄漏检测实验2测试系统性能,分析系统瓶颈----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

69----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方检测给定程序,查看内存泄漏Linux设备驱动程序开发n设备驱动概述n设备驱动和文件系统的关系n设备类型分类n设备驱动基础n设备驱动中关键数据结构n设备驱动开发中的基本函数n驱动程序的设备号n设备驱动模块化编程nPCI总线内核空间和用户空间实验1:GPIO字符设备驱动实例通过本实验指导学员熟悉设备驱动编程基本原理,开发字符设备驱动PCI总线PCI系统体系结构PCI地址空间实验2:PCI设备驱动开发实例通过本实验指导学员熟悉PCI总线体系结构,开发PCI设备驱动第四天嵌入式网络开发基础网络协议体系结构开发nTCP/IP协议及OSI协议体系n以太网卡相关协议详细剖析nIP协议详细剖析nTCP协议详细剖析nTCP协议状态变化剖析nUDP协议详细剖析nSocket客户端及服务器编程实验1:Socket客户端及服务器编程实例通过本实验指导学员熟悉Socket客户端及服务器编程,熟悉TCP,UDP,IP底层协议细节,熟悉TCP创建、维持、释放的全过程第五天嵌入式网络设备驱动程序开发详解网络设备驱动程序开发n网络设备驱动程序简介nnetdevice数据结构nsk_buff数据结构n内核的驱动程序接口n以太网控制器实验1:DM9000网卡驱动程序实例通过本实验指导学员熟悉网卡及以太网细节,熟悉TCP/IP原理,熟悉Socket底层编程及实现,独立开发网络驱动程序----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

70----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

71----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起。这里介绍学习Linux的一些建议。 一、从基础开始 常常有些朋友在Linux论坛问一些问题,不过,其中大多数的问题都是很基础的。例如:为什么我使用一个命令的时候,系统告诉我找不到该目录,我要如何限制使用者的权限等问题,这些问题其实都不是很难的,只要了解了 Linux 的基础之后,应该就可以很轻易的解决掉这方面的问题。而有些朋友们常常一接触Linux 就是希望构架网站,根本没有想到要先了解一下Linux 的基础。这是相当困难的。 二、Linux命令是必须学习 虽然Linux桌面应用发展很快,但是命令在Linux中依然有很强的生命力。Linux是一个命令行组成的操作系统,精髓在命令行,无论图形界面发展到什么水平这个原理是不会变的,Linux命令有许多强大的功能:从简单的磁盘操作、文件存取、到进行复杂的多媒体图象和流媒体文件的制作。举一个例子:Linux的常用命令find,察看man文档,初学者一定会觉得太复杂而不原意用,但是你一旦学会就爱不释手.它的功能实在太强了,在配合exec参数或者通过管道重定向到xargs命令和grep命令,可以完成非常复杂的操作,如果同样的操作用图形界面的工具来完成,恐怕要多花十几倍的时间. 不同版本的Linux命令数量不一样,这里笔者把它们中比较重要的和使用频率最多的命令,按照它们在系统中的作用分成几个部分介绍给大家,通过这些基础命令的学习我们可以进一步理解Linux系统: 安装和登录命令:login、 shutdown、halt、reboot、mount、umount、chsh 文件处理命令:file、mkdir、grep、dd、find、 mv、ls 、diff、cat、ln 系统管理相关命令:df、 top、free、quota、at、lp、adduser、groupadd kill、crontab、tar、unzip、gunzip、last 网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin rcp、finger、mail、nslookup 系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo、pswho 三、选择一本好的工具书 工具书对于学习者而言是相当重要的。一本错误观念的工具书却会让新手整个误入歧途。目前国内关于Linux的书籍有很多不过精品的不多,笔者强烈建议阅读影印本的“O'Reilly原版Linux图书http://www.oreilly.com.cn/ ”,而且出版社还提供了一个非常好的路线图:http://www.oreilly.com.cn/guide/guide_linux.php。 四、选择一个适合你的Linux发行版本 目前全球有超过1百多个Linux发行版本,在国内也能找到十几个常见版本。如何选择请根据你的需求和能力,Redhat Linux 和Debian Linux是网络管理员的理想选择。对于英语不是很好的读者红旗Linux、中标Linux这些中文版本比较适合。现在一些Linux网站有一些Linux版本的免费下载,这里要说的是并不适合Linux初学者。 五、养成在命令行下工作 一定要养成在命令行下工作的习惯,要知道X-window只是运行在命令行模式下的一个应用程序。在命令行下学习虽然一开始进度较慢,但是熟悉后,您未来的学习之路将是以指数增加的方式增长的。----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

72----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方从网管员来说,命令行实际上就是规则,它总是有效的,同时也是灵活的。即使是通过一条缓慢的调制解调器线路,它也能操纵几千公里以外地远程系统。 六、选择一个适合你的Linux社区 随着Linux应用的扩展,出现了不少Linux社区。其中有一些非常优秀的社区:www.linuxforum.net(国内最高水平GNU站点)、http://www.chinaunix.net/ (中国最大的Unix技术社区),但是这几个论坛往往是Linux高手的舞台,如果在探讨高级技巧的论坛张贴非常初级的问题经常会没有结果。 七、勤于实践 要增加自己Linux的技能,只有通过实践来实现了。所以,赶快找一部计算机,赶快安装一个 Linux 发行版本,然后进入精彩的Linux世界。相信对于你自己的Linux 能力必然大有斩获。此外,人脑不像计算机的硬盘一样,除非硬盘坏掉了或者是资料被你抹掉了,否则储存的资料将永远而且立刻的记忆在硬盘中。在人类记忆的曲线中,你必须要不断的重复练习才会将一件事情记得比较熟。同样的,学习 Linux也一样,如果你无法经常学习的话,学了后面的,前面的忘了。你对Linux命令熟悉后你可以开始搭建一个小的Linux网络,这是最好的实践方法。Linux是网络的代名词,Linux网络服务功能非常强大,不论是邮件服务器、Web服务器、DNS服务器等都非常完善。当然你不需搭建所有服务,可以慢慢来。需要说明的是这个Linux网络对于初学者有两三台计算机即可,其中一台计算机最好安装Windows系统。自己多动手,不要非要等着别人帮你解决问题。 八、如何得到联机帮助 和私有操作系统不同,各个Linux的发行版本的技术支持时间都较短,这对于Linux初学者是往往不够的。其实当你安装了一个完整的Linux系统后其中已经包含了一个强大的帮助,只是可能你还没有发现和使用它们的技巧。 1. 主流Linux发行版都自带非常详细的文档(包括手册页和FAQ),从系统安装到系统安全,针对不同层次的人的详尽文档,仔细阅读文档后40%问题都可在此解决。 2. 查阅经典工具书和Howto,特别是Howto是全球数以万计的Linux、Unix的经验总结非常有参考价值通常40%的问题同样可以解决。 九、在Linux论坛获取帮助 如果上面的措施没有解决问题,此时你就需要Linux社区的帮助了。Linux的使用者一般都是专业人士,他们有着很好的电脑背景且愿意协助他人,Linux高手更具有鼓励新手的文化精神。如何在Linux社区获得帮助,需要说明的是你要有周全的思考,准备好你的问题,不要草率的发问,否则只会得到到草率的回答或者根本得不到任何答案。越表现出在寻求帮助前为解决问题付出的努力,你越能得到实质性的帮助。最好先搜寻一下论坛是否有您需要的文章。这样可以获得事半功倍的效果。下面笔者在论坛看到的一个好问题:“安装红旗4.0 后,系统紫光输入法自带的双拼方案和我的习惯不一样,如何自定义双拼方案解决?谢谢?”这个问题很简练,笔者五分钟后就给出了解决方法:“首先备份原文件到其他目录,然后删掉/usr/local/unispim/unispimsp.ksc,编辑/usr/local/unispim/unispimsp.ini ,最后重启动计算机,生成新的unispimsp.ksc”另外得到回复后如果问题解决,向帮助过你的人发个说明,让他们知道问题是怎样解决的,这种补充有助于他人在邮件列表/新闻组/论坛中搜索对你有过帮助的完整解决方案,这可能对他们也很有用。 下面看看一个让人无法回答的问题:“救命各位高手,向你们请教一些问题:如何在Linux下配制HTTP、FTP、Samba、DNS、DHCP、Sendmail服务器,谢谢” 这样的问题我想即使Linux高手也很难快速准确精练的回答你。 ----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

73----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方你需要提供精确有效的信息。这并不是要求你简单的把成吨的出错代码或者数据完全转储摘录到你的提问中。如果你有庞大而复杂的测试条件,尽量把它剪裁得越小越好。可能你会遇到这种情况,对于一个问题会出现不同内容回答,这时你需要通过实践来验证。另外把这个问题放在其他Linux社区请求帮助也是一种选择。如果得不到答案,请不要以为我们觉得无法帮助你。有时只是看到你问题的人不知道答案罢了。这时换一个社区是不错的选择。另外发问的时候一定要注意到某些礼节。因为Linux社区是一个松散的组织、也不承担回复每个帖子的义务。它不是技术支持。 十.用Unix思维学习Linux Linux是参照Unix思想设计的,理解掌握Linux必须按照Unix思维来进行。思想性的转变比暂时性的技术提高更有用,因为他能帮助你加快学习速度。 十一.学习专业英文 如果你想深入学习Linux,看不懂英文文档实在是太难了。写的最好的,最全面的文档都是英语写的,最先发布的技术信息也都是用英语写的。即便是非英语国家的人发布技术文档,也都首先翻译成英语在国际学术杂志和网络上发表。安装一个新的软件时先看README,再看INSTALL然后看FAQ,最后才动手安装,这样遇到问题就知道为什么。如果说明文档不看,结果出了问题再去论坛来找答案反而浪费时间。 十二. 最后是Linux学习的路线图: 1. 掌握至少50个以上的常用命令。 2. 熟悉Gnome/KDE等X-windows桌面环境操作 。 3. 掌握.tgz、.rpm等软件包的常用安装方法 4. 学习添加外设,安装设备驱动程序(比如网卡) 5. 熟悉Grub/Lilo引导器及简单的修复操作 。 6. 熟悉Linux文件系统和目录结构。 7. 掌握vi,gcc,gdb等常用编辑器,编译器,调试器。Linux下编程,主要是选用一个文本编辑工具(如vi eclipse nano gedit等)编写,再用GCC编译链接,最后用gdb调试。 8. 理解shell别名、管道、I/O重定向、输入和输出以及shell脚本编程。 9. 学习Linux环境下的组网。 ----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

74----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方由于本人是做Linux培训的,所以对于初学Linux系统的朋友接触的比较多,对于初学Linux时遇到的问题了解的也够深刻,以下言论有不周到的地方望朋友们指出:  首先说明希望学Linux的朋友能够忘记Windows2000,最起码忘记Windows下的盘符、应用程序等基础的东西,其次要深刻明白Linux和Windows是2个不同的系统平台,可以去对比着学习,但不要直接拿Windows那套东西直接套用到Linux学习中。  学习方向:  一、桌面系统  就是系统安装好后的视窗系统,在Windows下叫Windows,在Linux下叫XWindows,其实只是名字不一样而已(看看红旗做的桌面,真是跟Windows要做象有多象,真晕,这样虽然有助于Linux桌面的使用,但对于Linux系统的推广真是没什么好处)  很多初学Linux人的安装好Linux后,进入其XWindows桌面,兴奋不已,以为大功告成,Linux自己会了,这种想法是很可怕的;如果我告诉你Linux的XWindows环境不是Linux系统,它只是在Linux下面运行的应用程序(类似于在Windows下运行office2000),你是怎么想的?  Windows下的应用程序几乎是不能直接在Linux系统下安装和使用,学编程的应该明白,所以不要去找Windows工具盘安装你的RAR,QQ,realone等常用工具,你是装不上的。  你可以尝试去安装你硬件的最新驱动程序,安装Linux下的常用工具,做一些Linux简单的汉化,你就会理解经常在论坛里问这方面问题的朋友的困难了。  总之,学桌面,不是学Linux系统。  二、内核源代码学习。跟unix操作系统一样都是用C语言编写。  去买正版的Linux系统(不是很贵),会附带一张或者2张Linux源代码盘,Linux程序员从这里开始,是起点也是终点。  ----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

75----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方  三、系统管理  也就是管理Linux系统环境:SHELL、图形、系统服务、硬件驱动等等。  系统管理Linux跟UNIX类似(是看了些Unix系统管理才这样说的),基本上都是通过命令----->配置文件----->脚本文件。  初学这建议从这里开始,不要一味去安装XWindows,这个XWindows环境只要你尽量保持经常使用,相信学会是自然而然的事情.(感觉那真实没什么好学的,只要计算机应用在1年以上的朋友,应该都能在下面操作吧)  四、应用开发  在Linux应用上,Linux确实跟它的竞争对手Windows相比还有一定的差距。不过在高端的应用上,Linux的市场是越来越大,如:  Linux内核开发:  ----PDA个人掌上电脑;  ----专用的网络设备;防火墙设备,VPN设备等是用Linux编写的,国产的,现在销售的十分不错;  ----硬件驱动程序  Linux网络编程:  ----php编程,建立动态站点;  ----jsp编程,  ----perl,cgi编程;  Linux系统下数据库的开发:  ----mysql中小型数据库系统;----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

76----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方  ----oracle数据库  ----DB2数据库,IBM数据库系统  五、服务器领域  一说Linux,很多自然就想到了做服务器,但现在网络服务器方面,Linux的市场占有率确实是第一的;  Linux服务器领域:  ----代理服务器,使用的是Linux的iptables功能;  ----电影服务器,使用的是Linux的samba服务的功能,文件和打印共享服务器  ----游戏服务器,cs服务器,在Linux系统下使用cs的Linux版本建立的服务器  ----客户存档服务器,采用的Linux的ftp服务器,常用的有:wu-ftp,pro-ftp软件建立的  ----www服务器,使用的是Linux下的apache服务器软件  ----ftp服务器,下载服务器,使用的是Linux下的wu-ftp,pro-ftp,vs-ftp软件  ----mail服务器,采用的是Linux下的sendmail,qmail软件  ----dns服务器,使用的是Linux下的bind软件  ----数据库服务器,使用的是mysql或者oracle软件  ----防火墙,软件防火墙服务器,使用的是Linux的iptables功能建立的  ----路由器,软路由器,使用的是Linux下的routed软件建立的  ----拨号服务器,vpn服务器等等----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

77----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方  六、系统集成  范围太广,内容太多。相信IBM等建立的Linux研发中心主要就是做这个的。·我强烈建议:自己亲自动手把linux装到你的硬盘上,你必须学会独立安装linux系统的技能,对于现在的版本来说,其实跟装WinXP一样简单三.进阶掌握至少50个以上的常用命令理解shell管道"|",文件流重定向">"及追加">>"等熟悉Gnome/KDE等X-windows桌面环境操作掌握.tgz.rpm.biz等软件包的常用安装方法学习添加外设,安装设备驱动程序(比如modem)熟悉Grub/Lilo引导器及简单的修复操作熟悉系统固有目录的名称及公用学会用mount命令访问其他文件系统了解vi,gcc,gdb等常用编辑器,编译器,调试器学习linux环境下的简单组网澄清一些概念:linux的普通操作与真正的系统管理不能相提并论,后者需要很多知识我个人认为比较重要几种linux语言1.英语即使你不学linux,我也强烈建议你学好英文[U.S.english]因为实质上计算机语言就是英文和字符,所谓的多国语言只是外部包装你必须能无障碍的阅读大量的英文技术文档在搜索引擎找到的英文网站和网页中熟练的检索最好能有用英文直接交流的能力,摆脱了这个障碍,你的学习和理解速度就能快很多,你就有机会拉开和别人的差距2.shell[sed/awk]shell是命令解释器,是内核与用户界面交流通道,shell写的小脚本有点类似于win下的.bat但shell比.bat强大的多,shell不只是解释命令,更是一种编程语言,有时候几百行的c用shell几十行就能代替完成工作,因为shell的工作方式建立在系统已有的众多应用程序之上这也是CS中的一个重要思想。此外,shell可以实现工作自动化,这个概念也比较重要sed,awk用来处理文本,历来很常用----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

78----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方3.Perl/PHP漂亮的脚本,CGI的首选,比ASP好,应用面很广4.C\C++C、C++是linux/unix的核心语言,系统代码都是C写的5.ASM系统底层及内核,硬件,设备驱动程序,嵌入式开发都需要//走核心路线的话,才c\c++,asm最重要6.Java,Python,Tcl,XML*系统管理篇在熟悉linux的基础上还需要掌握至少一种unix我首推Solaris,其次是FreeBSD比如运营级系统一般是Solaris+Oracle/DB2之类的学习apache,ssh,sendmail/Qmail,proftp/vsftp,Samba,Squid,MySQL/PostgreSQL/Oracle,Bind等各种应用服务器的构架及电子商务的应用熟悉TCP/IP协议族,学习诸如apache+php+proftp+mysql+quota的实现以及大型局域网,分布式集群等各种企业级应用解决方案熟悉多用户管理,数据库管理,文件系统,逻辑存储管理,日志分析,备份与灾难数据修复系统补丁,内核升级,以及在此基础上的防火墙构架等以保障系统安全在内的各种系统管理技能我觉得,如果在此基础上再掌握路由/交换设备便是一个不错的系统管理员*深入学习linux我个人理解的读linux内核需要的基础:在此之前,希望先把应用层的东西学一下,那样会比较好理解1.C如果学过潭浩强的大学教科书(除了编几个数学模型好像什么也做不了的那种),建议再看一下《TheCProgrammingLanguage》SecondEdition这本圣经/*如果想学缓冲区溢出,这点C的功力可能是不够的*/还有,,,反正经典书看多了是没有坏处的2.asm(AT&T语法,保护模式)保护模式下的比较复杂,基本上每本讲内核的书都会有介绍有80x86Intel语法的基础就行,有兴趣可以看看Intel的官方****3.数据结构(离散数学)----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

79----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方计算机专业的核心课程,重要性我就不说了4.操作系统原理看懂这个再去读linux吧5.微机原理/组成原理(数字电路)底层直接和硬件打交道,所以这个也要6.了解linux/unix我想至少你要会操作吧,了解unix的API7.软件工程/编译原理这方面的经典书去www.china-pub.com可以搜到很多我觉得APUE这种书不适合初学者,还是先看看UPE之类的吧《advanced programming in the unix environment》《unix环境高级编程》作者:W.Richard.Stevens共有6本经典书,尊为“圣经”他的书为全世界黑客所拜读!UPE:《unix programming environment》《unix编程环境》比较适合初学者的,深入浅出,其中有一些比较重要的思想----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

80----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方学习嵌入式linux在这里我把它单独列出,文章有点紊乱,但是内容希望有益。1、学习linux根据我在论坛的了解,我选择学习嵌入式linux,刚好我们学校也重视嵌入式linux,从实验室到课程安排都是关于嵌入式linux方面,天时地利!这里我把学习linux的经验和教训说说。可以这样说,在论坛里说道学习linux差不多就学习linux内核。于是我电脑里安装了linux就开始看linux内核方面的书了。我记得来学校以前就买到一本陈莉君的讲linux内核的第一版,现在有第二版了。我就开始看那本说,大家说linux内核情景分析不错,我就买了上下册,后来又买了《深入理解linux内核》,最后也买了毛德操的《嵌入式系统》也是分析linux内核代码的,主要讲arm相关的。看内核期间是个非常痛苦的过程,看情景分析有种在森林中找出路,其间我组织了一些同学学习内核,几乎没有几个能坚持下来的。我认为我是坚持下来了。情景分析在看第一、第二遍是几乎没有摸到门道,我分析有三个方面的原因:1、自己的基础差,这是最关键的。2、内核本身很难。3、没有交流和高人指点。到了第三遍时我才摸到门,才差不多知道个linux的大概脉络,很多细节也是稀里糊涂。学习linux总结,这里声明一下,我指的嵌入式主要是偏向软件的嵌入式。学习嵌入式的重点和难点关键在操作系统,如果没有掌握操作系统,我认为很难把握一个嵌入式系统。即使在做嵌入式开发中,作应有层的开发几乎可以不知道操作系统也可以开发,我认为那是浮在表面的。很难深入和提高自己的层次。声明:一孔之见!不可深究!在学习linux内核过程中犯了一个极其严重路线错误:对linux几乎不懂就开始学习内核。我个人推荐一个学习路线是:使用linux—〉linxu系统编程开发---〉驱动开发和分析linux内核。而我差不多相反,实际上你不会使用linux也可以学习内核,但是如果你懂了这些东西学习更有效率。关于要不要学习内核的问题,我的回答如下:不一定。如果你是喜欢钻研的那你进入内核会满足你的欲望。同时对你以后的嵌入式系统的开发有很好的影响。如果你想从事嵌入式linux系统开发,最好对内核有所了解。如果仅仅是做应用开发没有必要。我打个比喻:c、c++、java等语言是武林中的某个武林派别的话,如什么拳法,什么刀法等,那么linux内核应该是一个人的内功的反应。怎么开始学linux内核:最好有三件宝物:《深入理解linux内核》《情景分析》和源代码。----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

81----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方先看《深》,那主要讲原理,好像市场上有本讲原理性并且更浅,《linux内核设计与实现》听说不错。如果没有学习操作系统的,像我这样的,最好先看看操作系统原理的书。看了几遍后,就看情景分析,最好对着《深》看。两本交叉看,《深》是纲,《情》是目。最后深入代码。2、学习嵌入式linux学习嵌入式,我认为两个重点,cpu和操作系统,目前市场是比较流行arm,所以推荐大家学习arm。操作系统很多,我个人对开始学习的人,特别不是计算机专业的,推荐学习ucos。那是开源的,同时很小。学习很好。为什么选linux,我不想讲太多,网上这方面的太多,但是我在工作中发现,做linux的技术路线很难,在windows几乎不会有的问题,在linux开发中几乎遍地陷阱。一掉进去划很长时间出来,一旦解决自己又长进了!相对来说开发周期长,难度大。现在资料也逐渐丰富起来,难度也降低了些!至于怎么学习,这是他的特色地方,必须有块开发板,我是同学里最早买学习板的,虽然化钱,我认为值。对我实习和工作产生了很大的影响。如果没有开发板,那是纸上谈兵。有人说,那要1000-2000亚,的确是,兄弟,看长远的,对您的职业和发展那点钱不算什么!有的人说我站着说话不腰痛,好吧,钱这东西对我影响很大,我在大学里扫厕所,扫的不错,奖5元/月。兄弟你有过吗?我认为教育投资是效益最有保障的!我实习拿3k,很多同学拿1-2k,当然比我高的也有。虽然我现在没有毕业,但一家公司就签了。从事目前流行的高档的消费电子的研发。对于我两年前一无所知的我,应该有质的变化,我感谢学校收了我这个废品。当然我也非常的努力。说这么多并不是要炫耀我什么,实际上根本不值得炫耀,虽然现在工作环境和待遇比较满意,但是,我发现我很差,特别是代码能力,我希望平常大家少玩游戏,多编程。编程才是硬道理!3、学习板和培训你可以不接受培训,但是不能不买开发板。如果你想学习嵌入式一定要买块学习板,最好买块arm9的,贵些也值。可以跑高级操作系统。这个不要什么品牌公司的,一般不会出什么问题,市场上的板子一般是三星的2410,基本上是抄的。如果是做产品那要注意些。一般的公司一般要2000,加lcd要3000甚至更多。我接触到有的板只要1200,加lcd也就2000,差别比较大,我认为学习都够啦。对于培训,如果有条件最好参加,主要是嵌入式相对别的不同,自己摸索很费时,如果有高手指点非常的好,进步快。特别是认识做这些的朋友。我接受过培训,认识个朋友。在以后的工作中帮我很多,在这里谢谢他!我记得哈佛的一个MBA的学生这样说,大意是:在哈佛学到什么不重要,最重要的是这些未来各大公司的高级管理人员是我的同学!真是有远见!目前市场是培训比较贵,一个星期两三千,真正算起来也要,那些讲师待遇绝对不会低。但是有个致命的问题是连续上课,一连几天,效果不佳。我希望社会上多出些1000元左右,并且时间长些,如一个月,一周一到两次课。如果没人做,我来做,哈哈!----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

82----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方没有想到,一下写了这么多,其实还想写的,比如在中科院的一位老兄是怎样学习linux内核和看书的,真的很感动。他的为人我很钦佩。也想介绍毛德操的《嵌入式系统》那本书,对学习armlinux的很好,也想介绍实习和工作的东西,太长了,耽误大家时间。我也不想检查里面的错别字了,很多!就写到这里吧。----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

83----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方循序渐进学习LINUX之软件配置作者:xyt2001640 来源于:嵌入式资讯网 发布时间:2006-12-2117:23:00与WINDOWS一样,在LINUX系统可以从光盘、软盘安装应用软件;但不同的是,它需要用命令mount来登录光驱、软驱。而且,软件大多是经过压缩的,所以还需要懂得如何解压。最后必须配置、编译才能运行。下面分四个方面进行介绍:  一、mount登录  LINUX的软驱设备用特殊文件/dev/fd0,文件系统是msdos,因此用以下命令登录,读取软盘内容:  #mount-tmsdos/dev/fd0/mnt/floppy  #cd/mnt/floppy  同理,键入以下命令读光盘:  #mount-tiso9660/dev/hdb/mnt/cdrom  #cd/mnt/cdrom  然后,用cp命令将所需的软件拷贝到系统中。  退出软驱、光驱用umount命令。注意,不能在其目录中使用此命令,而应先cd到其他目录,再使用:umount/mnt/cdrom。    二、安装软件  forLINUX的软件一般是以.gz或.tar或者.tar.gz结尾的。前者是由gzip压缩的,后者是先用tar归档,在用gzip压缩而成的。  1、以.gz结尾的为压缩文件,用命令:gzip-dfilename来解压,得到的文件在当前目录中,但已没有了.gz。  2、以.tar结尾的为归档文件,用命令:tar-xvffilename来展开,生成的文件与源文件在同一目录中,只是少了.tar。  3、以.tar.gz结尾的文件最常见,可直接用命令:gzip-cdfilename|tarxfv-来安装。  一般情况下,这类文件的第一项是一个目录,所以用上面的命令时会创建出这一个目录,并把所有的文件都存在此目录之下。如果是特殊情况,可先用命令:tar-tvffilename|more来查看文件的第一项。倘若它并不是目录,则先创建一个目录,把文件放在此目录之下,在用命令:tar-xvffilename来安装。  经过以上步骤,会生成README及INSTALL等文件。用vi来仔细阅读这些文件造处于LINUX有关的部分,更具体是进行配置。一般的步骤是:(1)./config,(2)makeinstall,(3)make。主要的变化在第一步,其后面需要参数,可见入命令来选择:./config--help。    三、实践举例笔者曾配置了apache(阿帕其服务器)、php3两个软件。  先从网上下载forLINUX的软件apache.tar.gz、php3.tar.gz。  1、由于apache.tar.gz大于1.44M,所以笔者在center_5的MSDOS上用telnet命令登录LINUX,通过put将其上传。  2、笔者将这两个软件放在/usr/src目录之下,用命令gzip-cdapache.tar.gz(php3.tar.gz)|tarxfv----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

84----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方-来安装。这样会看到两个目录:apache_1.3.6和php-3.0.7。  3、在第一个目录之下,会看到非常重要的文件:README、INSTALL。如果此时是在GUI界面,则可以打开两个xterm,一个用于仔细阅读,一个则用于根据文件的提示进行配置。  4、在第二个目录中,也会很快的找到文件:INSTALL、INSTALL.DSO、README.QNX。步骤与3相似。由于这两个文件相互关联,必须先配置前者。  5、配置完后,进入/apache_1.3.6/conf/httpd.conf。在文件里面,理解其注释,删除或增加一些选项前的"#"。保存文件后,执行命令/usr/src/apache_1.3.6/bin/apachectlstart,即打开http,然后可以在NetscapeCommunication来浏览网页。  心得体会在学习的一个多月来,笔者面对的是一个全新的操作系统,绝大多数操作是通过自己键入命令来实现的,从而能够深入到一定层次的了解操作系统内核。  1、懂得了UNIX的一些基本命令;  2、熟悉vi文本编辑;  3、知道如何在LINUX、UNIX上编写、编译C、C++、JAVA程序;  4、进一步了解了网络原理,动手配置了网络应用软件,从而也清楚了软件安装的一般步骤。  5、毕竟现今forLINUX的应用软件少,而且RedHatLINUX不支持中文,因而还不能完全脱离WINDOWS。因此,应发挥LINUX是一个非常优秀的网络服务器操作系统的优点,扬长避短。  由于有关操作系统的知识不够,所以还不能自己修改、开发内核,暂时停留在一般性了解、基本操作的基础上。因为笔者学习LINUX是为了先在PC机上了解UNIX,这是最主要的目的。当然,这一段时间的学习就是围绕着这个目的开展的。----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

85----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方学习嵌入式Linux的笔记和体会(一)作者: 来源于:http://www.fanqiang.com 发布时间:2006-12-2117:21:00一个典型的桌面Linux系统包括3个主要的软件层---linux内核、C库和应用程序代码。内核是唯一可以完全控制硬件的层,内核驱动程序代表应用程序与硬件之间进行会话。内核之上是C库,负责把POSIXAPI转换为内核可以识别的形式,然后调用内核,从应用程序向内核传递参数。应用程序依靠驱动内核来完成特定的任务。在设计嵌入式应用的时候,可以不按照这种层次,应用程序越过C库直接和内核会话,或者把应用和内核捆绑在一起,甚至可以把应用写为内核的一个线程,在内核中运行,虽然这样在移植上带来了困难,但考虑嵌入式系统对尺寸要求小的特点,是完全可行的。不过我们使用三层软件结构的模式来学习嵌入式linux将会是我们认识更清晰,简单可行并使应用具有弹性。快速入门最简单的建立嵌入式Linux应用的方法就是从我们使用的桌面Linux入手,安装一个喜爱的版本,把我们的某个应用作为初始化的一部分,框架就算完成了。当然,嵌入式linux应用远比我们的桌面版本功能简单专一,它也许就是一个用于足彩的终端机,或是一个数码音频播放器,这些系统除了使用嵌入式CPU外,仅仅再需要一个串口,网口等少量的输入输出接口就可以完成它们特定的应用了。在软件上,它可以按照三层的概念由内核装载器,定制的内核和较少的为特定任务设计的静态连接的应用程序组成。之所以使用静态连接的应用程序,是因为少量的静态连接程序所要的存储空间,比同样数量的动态连接的程序所占的空间小,这个平衡点需要我们在实际开发中去获取。也许你正在设计的是个PDA,它的应用程序较多,那么你很可能就要使用动态连接程序来减少存储空间。在你的/bin或者/sbin目录下,用厂列表看看bash,ifconfig,vi...,也许只用几十K,当你运行ldd/bin/bash时,你会看到它们都和好几个库文件相连。好了,这样看来,我们得把PC想像成一个嵌入式硬件平台,再重新制作一个特定功能的嵌入式linux。基础知识再进行实际操作之前,先来搞清楚几个基础知识。内核装载器Loader,它的作用是把内核从外部存储器,移动到内存中。它只作这个事情,一旦完成了调入内核的工作,Loader就跳转到内核位置开始执行。不同架构有不同的Loader,在x86结构的PC上,通常使用的loader有LILO,GRUB,syslinux,syslinux在嵌入式linux中也同样工作。其他非x86架构的应用中,你必须使用专门的loader,或者自己编写loader来装入内核。也有不使用loader的情况,系统加电以后,内核直接从烧录有映象的Flash上开始执行。----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

86----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方内核,一旦内核开始执行,它将通过驱动程序初始化所有硬件,这可以从我们的pc机监视器的输出看出来,每个驱动程序都打印一些有关它的信息。初始化完成后,计算机就准备运行嵌入式应用。也许一个,也许是多个应用程序组成了嵌入式应用,但通常首先调用的是init(通过loader向核心传入init=/program可以定制首先运行的程序)。桌面linux中,init会读取/etc/inittab文件,来决定执行级别和哪些脚本和命令。嵌入式应用中,可以根据实际的情况决定是否使用标准的init执行方式,也许这个init是个静态程序,它能够完成我们的嵌入应用的特定任务,那完全不用考虑inittab了。initrd文件系统,initrd以一种把内核从存储介质装入到内存的相同的机制来装入一个小型文件系统。这个文件系统最好是以压缩的方式存储在介质上的,解压缩到RAM盘上。通过使用initrd,包含有核心驱动和启动脚本的小文件系统,就可以直接从介质上和内核一起启动起来,内核届压缩这个文件系统,并执行这个文件系统上叫做/linuxrc的脚本文件,这个脚本通常会把启动过程中所需要的驱动程序装入。脚本退出以后,initrd文件系统也卸下了,启动过程进入真正初始化过程。对于嵌入式来讲,可以将需要的应用软件都运行在这个initrd文件系统上,只要/linxrc文件不结束,内核启动过程的其他部分就不会继续。做个试验:cp/boot/initrd-2.4.20.img/tmpcd/tmpmvinitrd-2.4.2-.imginitrd.img.gzgunzipinitrd.img.gzmount-oloopinitrd.img/mntcd/mntlscatlinuxrc可以看到里面执行了加载了两个模块的操作,你在启动linxu的时候会看见屏幕打印信息。----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

87----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方学习嵌入式Linux的笔记和体会(二)作者: 来源于:http://www.fanqiang.com 发布时间:2006-12-2117:22:00入门试验,制作一个简单的应用我们使用一张软盘启动一台假象的只有一个串口,键盘输入,显示输出的x86架构的linux系统,执行的特定应用就是运行minicom,通过串口拨号。需要软件:minicom-xx.src.tar.gz和syslinux-xx.tar.gz,xx代表版本号,开始之前,在主目录建立一个目录,来释放这两个软件包:cdmkdir-pproject/minilinuxcdproject/minilinuxtarzxvfminicom-xx.src.tar.gztarzxvfsyslinux-xx.tar.gz1、裁减linux内核(需要系统安装内核文件包)配置内核的时候,我们需要选择这些:摸块编入内核,386处理器、物理内存off、支持ELF、标准PC软盘、支持RAM盘(4096)、支持initialRAMdisk(initrd)、虚你终端、虚拟终端控制台、标准串口、ext2文件系统、控制台驱动,VGAtextconsole、DOSFAT、MSDOS文件系统,其他的都可以不要,这样内核编出来较小。步骤:cd/usr/src/linuxmakemrpropermakexconfigmakedep&&makebzImage得到/usr/src/linux/arch/i386/boot/目录的内核文件bzIamge。2、编译一个静态的minicom,把它作为将来的linuxrccdminicom-xx/srcviMakefile修改下面这行minicom:$(minicom_OBJECTS)$(minicom_DEPENDENCIES)rm-fminicom下面的行加上-static,连接为静态程序(LINK)-static$(minicom_LDFLAGS)$(minicom_OBJECTS)$(minicom_LDADD)$(LIBS)viminicom.c找到if(real_uid==0&&dosetup==0)----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

88----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方删除这个判断条件语句,主要是用于权限判断的,因为这个嵌入应用不关注权限问题,否则会出错。make得到可执行程序,用ldd检查一下是不是静态程序。3、准备initrd压缩文件image.gzddif=/dev/zeroof=imagebs=1kcount=4096losetup/dev/loop0imagemke2fs-m0/dev/loop0mounmt-text2/dev/loop0/mnt/mkdir-p/mnt/devmkdir-p/mnt/usr/share/terminfo/l/cd/devcp-aconslenullttytty0zeromem/mnt/devcp-P/usr/share/terminfo/l/linux/mnt/usr/share/terminfo/l/linuxcp~/project/minilinux/mincom/src/minicom/mnt/linuxrcumount/mntlosetup-d/dev/loop0syncgzip-9image4、制作软盘引导,并拷贝文件bzimageimage.gz到软盘A.使用grubfdformat/dev/fd0mke2fs/dev/fd0mount/mnt/fd0/mnt/floppymkdir-p/mnt/floppy/boot/grubcp/boot/grub/stage1/boot/grub/stage2/mnt/floppy/boot/grub执行grub,在软盘上创建引导grub>root(fd0)grub>setup(fd0)grub>quitcp/usr/src/linux/arch/i386/boot/bzImge/mnt/floppycp~/porject/minilinux/image.gz/mnt/floppy编辑/mnt/floppy/boot/grub/grub.confdefault=0timeout-=10titleminilinuxroot(fd0)kernel/bzImageinitrd/image.gz----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

89----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方卸下软盘umount/mnt/floppyB.使用syslinuxfdformat/dev/fd0mkfs.msdos/dev/fd0mount-tmsdos/dev/fd0/mnt/floppycp/usr/src/linux/arch/i386/boot/bzImge/mnt/floppycp~/porject/minilinux/image.gz/mnt/floppycpsyslinux-xx/ldlinxu.sys/mnt/floppycat>/mnt/floppy/syslinux.cfgLABELlinuxKERNELbzimageAPPENDinitrd=image.gzumont/mnt/floppysyslinux-xx/syslinux/dev/fd0sync5、用软盘启动计算机,如果幸运,minicom的运行画面出现在屏幕上。到此,我们的单应用嵌入式linux做好了,但它还很简陋,没有什么实际用途,但通过这个实验,可以了解嵌入式系统的大致结构和开发过程。在进行实际的嵌入式开发时,通常要在PC机上借助嵌入式linux开发工具包,如:uclinux,bluecat等,对相应的硬件平台(目标机)进行软件编写编译,调试成功后,将内核及应用程序写入到目标机的存储器中,从而完成整个应用。----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

90----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方一个资深Linux程序开发者的开发经验谈(一)作者:SppenceMurray 来源于:赛迪网 发布时间:2006-12-2117:24:00SppenceMurray是Linux开发高手之一,同时长期以来他一直是UNIX的坚定支持者。本文介绍的是Murray和他在CodemonksConsulting的同事在日常的Linux开发以及应用服务工作中用到的基本技术:shell脚本,相信Linux的开发人员都会受益于这项有用而且通用的技术。SpenceMurray是CodemonksConsulting的创始人之一,自从20世纪80年代最早在SunOS上编写代码到现在,一直致力于UNIX/Linux的开发。从那时起,他曾在IBM公司的AIX、SGI公司的Irix工作,长时间地编写跨平台的UNIX代码,包括HP/UX,Irix,Solaris/SunOS,SCOUNIX,各种BSD,MacOSX,当然,还有Linux。从图形/视频设备驱动程序到UI代码,他什么工作都做过。Murray编写的跨平台代码包括XWindowSystemXserver代码,以及作为NetscapeNavigator一部分的核心浏览器代码。Murray最经常使用的Linux工具是vi、bash和Emacs。“不论我是在写C、C++、Java、shell脚本,还是HTML,大部分的时间我都在这些工具中来回切换”,他说。Linux秘密武器Murray认为,对一个Linux开发人员来说,shell是一个强大的软件开发工具,无论怎么评价都不过分。“在我做的每一项工作中都要用到shell脚本,不论是快速地阅读和修改普通文本还是编写代码”,他说。“它轻便而快捷,它短小的命令使得来回移动代码称为一个迅速而没有痛苦的过程。作为一名编辑,它很快就会成为第二本能”。对Murray来说,Emacs作为一个开发工具出现的晚了一些。“在90年代早期,我尝试使用Emacs作为一个IDE,并很快就转换门厅。Emacs非常强大,在那些日子里,我会一直开着一个Emacs窗口,经常打开几十个源文件,每个都有我编辑的上下文、使用gdb的调试会话以及在不同的源目录下运行的bash脚本。有很多关于Emacs的资料,可以说,这是个可怕的工具...再者,您可以在任何您想要花时间去做开发的系统上运行Emacs。自从20世纪80年代中期第一次使用SunOS支持的vi这个简洁的环境以来,Emacs编辑器已经成为了Murray的标准工具。"它在各种流派的UNIX上都可以使用,这是我在致力于跨平台的开发工作时选择它的主要原因之一”,他说。Linux开发人员:了解您的shellMurray要求您要了解您的shell。“Bash、tcsh、csh――shell是您最基本的软件开发工具”,他强调说。“它可以做许多了不起的事情。所有的工作都要依赖于它……和它的强大功能”。作为说明通用的shell脚本功能强大的例子,在参考资料部分中有一个可以下载的文件,其中有一组脚本,用于获得RedHat发行的更新RPM软件包并将它们合并到原来的软件包和定制的软件包。下载文件并解压缩后,您可以在/developerworks/rpm_update_scripts目录下找到脚本。最终结果是一个包括所有软件包最新版本的目录和一个用于网络安装的升级的hdlist文件。下面的代码片段实现的是对RedHatRPM软件包的自动更新,以创建一个使用最新的RPM的可以安装的版本。这对任何一个维护公共Linux----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

91----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方服务器的人来说是一个基本的步骤。就我们而言,我们通常是维护许多公共Linux服务器上的大量网络服务。下面是可以自动完成更新最新的安全和功能的过程的部分脚本。下面的脚本样例证明了普通的shell编程技术可以广泛应用于各种系统配置和程序设计应用。脚本使用的是bourneshell,它是在不同的UNIX系统中最为常见的shell。这样就可以保证这些非常轻便的代码可以稍加修改或者不加修改地在不同的UNIX系统上使用。修改RedHat软件包的规范以应用于其它Linux发行版本是很容易的。freshen.sh使用指定的RPMftp更新站点上的RPM软件包来更新原有的RPM列表。执行过滤器来替换更新RPM软件包。最后,长长的发行列表根据从更新镜像站点上得到的新RPM软件包完成更新。清单1.fresh.sh#!/bin/shrh_ver=$1rh_path=$2update_dir=${rh_path}/RH${rh_ver}-updatescustom_dir=${rh_path}/RH${rh_ver}-custominstall_dir=${rh_path}/RH${rh_ver}-install#Sanitycheckfortheoriginaldirectory.#Createupdateandinstalldirectoriesiftheydon'texist[-d${update_dir}]||mkdir${update_dir}[-d${install_dir}/RedHat/RPMS]||mkdir-p${install_dir}/RedHat/RPMS#GetlatestupdatesfromfreshrpmsFTPsite./get_update.sh${rh_ver}${update_dir}#Create/updatehardlinksfromupdate,andcustomdirectories#totheinstalldirectory.WeassumethatoriginalRPMSarealready#hardlinkedtotheinstalldirectory,soallweneedtodoisfilter#outanyreplacedbyupdatedpackages../do-links.sh${update_dir}${install_dir}/RedHat/RPMS[-d${custom_dir}]&&./do-links.sh${custom_dir}${install_dir}/RedHat/RPMS#Filteroutallbutthelatestversionofeverything../filter-rpms.pl$install_dir/RedHat/RPMS----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

92----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方#Rebuildtheharddisklists/usr/lib/anaconda-runtime/genhdlist${install_dir}----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

93----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方一个资深Linux程序开发者的开发经验谈(二)作者:SppenceMurray 来源于:赛迪网 发布时间:2006-12-2117:31:00freshen.sh调用do-links.sh和get_update.sh,分别去设置RPM发行版本的源、宿(省略了源RPM软件包;硬链接用来设置目的RPM)和检索更新。清单2.do-links.sh#!/bin/shsrc=$1dest=$2#forfilein$src/*;doforfilein`find$src-name*.rpm-a!-name*.src.rpm-print`;dobase=`basename$file;`iftest!-f$dest/$base;thenecho"Linking$file";ln$file$destelseecho"EXISTS:$file";fidone清单3.get_update.sh#!/bin/shrh_ver=$1dest=$2echo"Retrievingupdatesforversion${rh_ver}to$dest"lftp<

94----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方应用提供了一个平台,Murray说。“在做这些项目的过程中,我们发现我们要总体上了解客户已有的应用代码”,他回忆说。locks.c(在下载得到的压缩文件中的/developerworks/locks目录下)是一个代码片段,实现的是用于JavaVirtualMachineProfilerInterface(JVMPI)的读/写锁以及大量的调试代码。Linux开发人员的代表“在情况允许的时候,不要写特定于系统的代码”,Murray说,而是克服困难去“写好的跨平台的代码”。受雇的Murray坚持认为他最大的资本永远是“写具有商业品质的代码,构建和提供网络服务,定制OS或内核,而且完全基于可靠的开放源代码的平台”。下面是一个代码片段,来自于一个跨平台的定制的IMAP服务器,这个服务器由Linux和MacOSX的开发人员共同开发。代码实现的是一个用来处理字符串的简单的增长缓存。这样避免了缓存溢出的问题(不要忘记那些安全漏洞),而不必要您每次做某些事情的时候重新分配空间。它是通过维护一个简单的可变长的缓存来实现的,这个缓存可以写满和清空。这个缓存已经被用于一个实验用的IMAP服务器,这个服务器是由一个团队紧张工作了一周完成的。除了一个简单的字符串缓冲区的实现之外,这段代码还实现了一个可变大小的字符串数组。它完成的是一个简单的接口,当您写完一个字符串以后,您可以标记它然后继续写下一个。此外,这样会节约空间分配,并且将比较乱的代码组织到一起。完整的IMAP服务器的代码将在今年某个时间发布。----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

95----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方一个资深Linux程序开发者的开发经验谈(三)作者:SppenceMurray 来源于:赛迪网 发布时间:2006-12-2117:33:00清单4.定制的IMAP服务器一部分#ifndefHOED_BUF_H#defineHOED_BUF_Htypedefstruct{char*str;intsize;intlength;intstr_start;intmax_size;intn_strings;intsize_strings;int*str_posn;char**str_set;}hoed_buf_t;#if__GNUC__>2||(__GNUC__==2&&__GNUC_MINOR__>4)#definePRINTF(f,a)__attribute__((format(printf,f,a)))#else#definePRINTF(f,a)#endifexternhoed_buf_t*hoed_buf_alloc(intinit_size,intmax_size);externvoidhoed_buf_free(hoed_buf_t*);externvoidhoed_buf_reset(hoed_buf_t*);externvoidhoed_buf_new_string(hoed_buf_t*);externchar**hoed_buf_get_set(hoed_buf_t*,int*n_string);externchar*hoed_buf_put_char(hoed_buf_t*,chartoadd);externchar*hoed_buf_sprintf(hoed_buf_t*,constchar*format,...)PRINTF(2,3);externchar*hoed_buf_strcat(hoed_buf_t*,constchar*append);externchar*hoed_buf_cat_sprintf(hoed_buf_t*,constchar*format,...)PRINTF(2,3);#endif/*HOED_BUF_H*/称为杀手级的Linux应用程序----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

96----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方对Murray来说,有两个杀手级的Linux应用程序:Emacs和NetscapeNavigator。“Emacs或许是给人印象最深而且广为应用的基于Linux的应用程序”,他说。“另一个是NetscapeNavigator。有一次,我们要支持20多种UNIX,我在Linux上完成了所有的工作”。他继续说,“有趣的是,基于Linux的应用程序可能运行于许多不同风格的UNIX系统上,甚至安装了Cygwin的Windows系统。”Linux的未来如何?当前,Murray正在进行的Linux项目有好几个,从支持电子邮件、消息和共享数据库的分布式办公应用程序到使用标准工具的网络应用程序(标准工具包括:Apache/Tomcat,PHP,PostgreSQL,MySQL,和Linux)。Murray有他自己的公司专门为网络服务和网络应用提供主机服务。对Murray来说,得益于Linux强大功能的应用程序的列表在不断地增长。“有很多”,他说。“Oracle,WebSphere,Apache,ostgresQL,MySQL,CyrusIMAP...这个列表很长而且在不断增长。”对Murray来说,Linux到此为止了。“我们所有的服务器都运行Linux;不管目标平台如何,我们主要的开发都在Linux上进行;我们把Linux推荐给用户来运行服务器应用程序”,他说。“Linux快速发展的步伐,开放源代码组织对它的广泛支持,低廉的开发费用,如果把这些结合在一起,您就知道它是一个难以击败的平台”。----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

97----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方学习Linux的七点忠告--------------------------------------------------------------------------------1、不要“玩Linux”很多人用Linux的时候会感觉很迷茫,该用哪个发行呢?是不是我少装了什么?怎么升级这么快啊!怎么这么不稳定!每当遇到新的软件他就想试用,每当新的版本出现,他就更新,然后用鼠标在新的菜单里选择从来没见过的程序来用用。其实你是为了Linux而使用Linux,而没有找到正确的理由来利用Linux。你首先要明确用电脑的目的,你用它是为了解决你的实际问题,而不是为了学习安装操作系统,不是为了测试哪个版本好用,不是为了“赶上潮流”,更不是因为你硬盘太大了,你想多占点空间。如果你启动了电脑之后不知道应该干什么,那么最好先不要用电脑,因为你可能有更重要的事情需要做。2、不用挑剔发行版本很多人刚开始用Linux的时候,总是在怀疑别的发行版本是否比自己正在用的这个好,总是怀疑自己以后时候会失去支持,不得不换用别的发行。所以很多人今天是Redhat,明天又换成了debian,一会儿又是gentoo,……甚至有的人在一台机器上装了两个版本的Linux,然后比较哪一个好。其实你完全没有必要这样做,任何发行,只要你熟悉了,你在上面的工作方式几乎是不会受到任何影响的。你常常听说Debian的更新比Redhat快,包比Redhat多,但是你可以比Debian更新还要快,直接到你需要的程序的主站点下载源码来编译就是了。Debian,TurboLinux,SuSE,Redhat,Gentoo,...任何一个版本都是不错的。3、不要当“传教士”很多人在讨论区不断的引起"Linuxvs.Windows"之类的讨论,甚至争的面红耳赤,这是没有必要的。因为各人的需要不同,生活的环境不同,你不可能得到一个定论。我们需要尊重别人的选择,这是你在进行任何对工具的讨论前需要提醒自己的事情。面对一些容易引起争论的东西:Word和TeX;Emacs和VIM;MAXIMA,Mathematica和Maple;Gnome,FVWM和KDE;Mutt和Pine……一定要冷静。你需要关心的不是你的工具是什么,而是你用它做了什么。精通Linux并不说明任何问题,因为它只是一个工具而已。如果你用Windows能很好的完成你的任务,那你就没有必要费时间去熟悉Linux。直到有一天你发现一项任务只有Linux才能完成的时候再换也不迟,因为你身边的Linux的爱好者一定会很乐意的帮助你。并不是喜欢一种东西就必须反对其它的。世界需要多样性,人们都需要FUN。用自己的兴趣去压制别人的,就会毁掉所有的兴趣。个人喜欢什么就用什么,完全没必要为这个争论。----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

98----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方不要做“传教士”!你说我现在就是在“传教”?冤枉啊~4、直接从源码安装程序很多人放着最新的源码不用,等着有人帮他做出rpm,deb,才能安装。我说你为什么不用源码编译,这样版本比rpm高的多,有很多新功能,而没有烦人的依赖关系。可是他说:“要是我用源码编译安装,卸载的时候就不方便了,会留下很多垃圾。”为什么程序还没有安装你就想到卸载?难道你不知道这个程序是用来做什么的?你应该改变到处找程序来试用的作法,而应该先了解一下到底那些程序有同样的功能,听听别人的意见,看看它们各有什么长处和短处,然后挑一个最适合你的程序来用。从源码编译安装程序,不但比你装rpm更适合自己的机器设置,而且它们一般会装到/usr/local目录,这样你以后如果换硬盘重装系统,也可以把以前/usr/local下的程序原封不动拷贝过去用。我的/usr/local下有2G之多的程序,你想要是我有一台新机器要重新安装,然后配置,得花费多少时间?实际上我曾经通过网络把它们传到一台新机器上,然后就出去吃晚饭,回来时我就得到了另一台一摸一样的Linux机器。确实要卸载makeinstall的程序怎么办呢?答案是直接删掉。别以为直接删掉程序会留下垃圾,引起“系统不稳定”。(btw:这是谁教你的啊?呵呵。)makeinstall无非就是把可执行程序放在/usr/local/bin,把某些函数库放在/usr/local/lib,把数据文件放在/usr/local/share下一个它自己的目录,你把这些东西都删掉就行了,不会留下垃圾,即使真的留下一点文件没有删掉也占不了多少空间,更不可能引起系统不稳定。UNIX就是这么简单但是有几个程序不建议从源码安装,它们是Mozilla,OpenOffice,...它们编译时会占用你几个G的空间和好几个小时的时间,这种花费我觉得是不值得的,因为你不能从编译得到更多好处,不如直接安装编译好的版本。5、不要盲目升级不知道这是心理作用还是什么,有的人看到比较大的版本号,就会很想换成那个。很多人的Redhat本来配置的很舒服了,可是一旦Redhat发行新的版本,他们就会尽快下载过来,然后选择升级安装。结果很多时候把自己原来修改得很好的配置文件给冲掉了。新的软件又带来了新的问题,比如有一次我的rxvt升级到2.7.8就跟miniChinput冲突了,升级到Redhat8.0,发现xmms居然缺省不能放mp3了,XFree86的xtt模块在I810上有新的bug,会导致Mozilla突然退出。如果你已经配置好了一切,千万别再整体升级了,这会浪费你很多很多时间的,不值得。如果需要的话,你可以只把某些部件升级,比如内核,glibc,gcc,XFree86,...使用UNIX的经典程序好的程序一般都是可以很方便的在很多种UNIX上移植的,bash,VIM,Emacs,Mutt,----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

99----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方FVWM,xterm,都是这样。如果你用这些程序,你就可以在Sun,HP,...等工作站上也装上,这样你在各种机型上的工作环境就几乎完全一样了!你不需要在Sun上面用CDE,在PC上又换成KDE,在它们上面都装一个FVWM,使用相同的配置文件,就能得到一致的界面。这些程序大部分都是久经考验的,是经过很多人多年开发的结果。它们功能完善,各种情况都考虑周全,绝对是你的好助手。6、不要配置你不需要的东西如果你只想做一个像我这样的普通用户,主要目的是用Linux来完成自己的科研任务和日常工作,那就可以不用系统管理员或者网络管理员的标准来要求自己,因为当一个系统和网络管理员确实很辛苦。普通用户学习那些不经常用到的复杂的维护系统的工具,其实是浪费时间,学了不用是会很快忘记的!我不是一个合格的网络管理员,我的服务器都只设置了我自己需要的功能,设置好ssh,ftp已经足够了,那样可以省去我很多麻烦。我从来不过度考虑“安全”,因为Linux缺省已经很安全了。我没有磁带机,就不用管tar的那些稀奇古怪的参数了,czf,xzf,ztf已经可以满足我所有的需要。sed,awk,...我也只会几种常用的命令行。7、不用忙着看内核源码除非你想研究操作系统,否则还是先把怎么使用Linux掌握好再说吧。我以前看了那么多内核源代码,写了驱动程序,结果最后发现我还是一只很多事情不能用Linux解决的菜鸟吸取我的教训吧,你应该首先掌握shell,Xwindow的使用和原理,它们可不比内核简单。  1.不要当“传教士”  很多人在讨论区不断的引起"Linuxvs.Windows"之类的讨论,甚至争的面红耳赤,这是没有必要的。这种争论是浪费时间而没有任何用处的。对,你花了一下午,用许多事实“捍卫”了“Linux比Windows好”这个说法。但是Windows的支持者并不会喜欢上Linux,他们只是稍微退缩一下,然后找一些新的证据来跟你辩论。世界上的人们都在利用Linux研究最前沿的科学,我们还在这里讨论“要不要用Linux”这种无聊的问题,什么时候才能赶上时代前进的步伐?什么叫做“Windows支持者”,什么叫做“Linux支持者”?我们为什么要支持某一个而反对另外一个?你不需要为Linux“护法”,不需要成为“Linux支持者”或者“GNU传教士”,GNU/Linux已经用事实向世界证明了它们的威力,已经被大多数人接受。你只需要安安静静享受GNU/Linux给你的乐趣和自由。你需要关心的不是你的工具是什么,而是你用它做了什么。精通Linux并不说明任何问题,因为它只是一个工具而已。如果你用Windows能很好的完成你的任务,那你就没有必要费时间去熟悉Linux。直到有一天你发现一项任务只有Linux才能完成的时候再换也不迟,因为你身边的Linux----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

100----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方的爱好者一定会很乐意的帮助你。  工具不是人,不应该对工具有感情。这是你在进行任何对工具的讨论前需要提醒自己的事情。面对一些容易引起争论的东西:Word和TeX;Emacs和VIM;MAXIMA,Mathematica和Maple;Gnome,FVWM和KDE;Mutt和Pine……一定要冷静的对自己说:“我不站在它们任何一边,因为它们不是人。”各人的需要不同,生活的环境不同。对你来说好的东西,对别人来说不一定好,我们需要尊重别人的选择。如果你当面说别人正在用的程序不好,没有人会乐意接受你的意见。我从来没有建议过我爸爸不用Windows+WPS,而用Linux+LaTeX来处理他的英语试卷。因为WPS是我爸爸的选择,他能用WPS编辑出很好的试题去测试他的学生,那就足够了。   我曾经帮我爸爸做了一个perl程序,能够自动从一种我自己设计的markup语言转化成LaTeX格式的英语试卷。可以自动对试题编号,乱序排版选择题的选项,自动生成答案表,生成老师用的显示答案的版本,自动对短文改错题进行优化分段,自动拼写检查,图形化的配置方式……我爸爸高兴的用了一段时间,可是后来他想用WPS里的一种标题样式,而我不在家,无法为他修改程序。所以他又换回了WPS。这就像有人送爱因斯坦一罐剃须泡沫一样,刚开始几天,发现他神采飞扬,不断夸这个东西真舒服。过了几天,发现爱因斯坦又开始用白水剃胡子了,因为剃须泡沫用完了,他懒得自己去买那个东西。这只是习惯问题。  2.不要强迫自己  喜欢电脑的人总是有某些心理强迫倾向。有的人说:“键盘比鼠标快。我不要用鼠标。这样才有高效率。”所以他在编辑器里无论什么时候总是用20w,10j这样的命令到达目的点。他甚至觉得图形界面是多余的,干脆Xwindow都不装。全部用键盘看起来的确比让手离开键盘去拿鼠标,再回来“快”多了,但是快的击键频率不等于工作的高效率,对你的健康更没有什么好处。这只能把你变成打键盘的机器。当你正在检查你的文章或者程序,思维正在随着字符的含义流动,突然20w,10j这样的东西出现在你的脑子里,是不是会打断思路?不?那说明你当时思考的问题比较简单,这些干扰还不会起到副作用。  其实很多人用电脑的时候,思想都受到某种教条的束缚,上面这个只是众多教条中的一种。某些人制造了很多这种教条,用他的工作方式来要求别人,嘲笑方式跟他不一样的人。比如有的人嘲笑其它人写C程序不按8字符缩进,嘲笑别人在vi里用方向键,嘲笑别人不知道PVM是什么,嘲笑其它人用JAVA,C#这种由GC回收内存语言……你不用管各种各样的教条,电脑只是你的奴隶,你想怎么用就怎么用。没有人能够约束你,没有人可以嘲笑你的工作方式。电脑明天就不再是这个样子,所以今天你不用完全了解它。你没有必要知道别人创造的一切,因为你需要留点时间自己创造些东西。Justhavefun!当你下次修改文章的时候,不妨试试悠闲的用鼠标在你眼睛看到的地方轻轻点一下。    7.不要习惯的使用root帐号。----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

101----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方  在需要的时候才su!这是很多刚接触UNIX类操作系统的人常见的现象,他们不喜欢在管理系统的时候才su,而是一直用root帐号干所有事情,配置系统,安装程序,浏览网页,玩游戏,编程……结果有一天,他不小心在某个系统目录使用了rm*...后果不堪设想……  8.不要用商业的眼光来看Linux。  Linux不是商业软件,所以不要用要求Solaris,Windows那样的眼光来看Linux.自由软件的作者们从来不拉拢用户,他们对用户不负有任何责任。实际上在自由软件的世界里,“开发者”和“用户”并没有明确的界限,大家是朋友。自由软件很可能只是满足作者和他的朋友的需要,甚至是为了好玩而创造的。自由软件不是完美的,自由软件承认自己有缺点,它不会自吹自擂,蒙蔽“用户”的耳目。这种对作者责任的解脱激发了作者的创造力,他们不用过分考虑“向上兼容”,他们往往比背上重重包袱的商业软件结构更合理,技术更先进。所以当你用某个自由软件遇到困难的时候,不应该埋怨软件的作者,因为他们对你并没有义务。  你不应该把自己当成一个挑剔的顾客,而要把自己作为这个软件的顾问和一个和蔼的建议者,这样你才能理解作者写这个程序时的快乐,在遇到问题时向作者反映,帮助他完善这个软件,成为一个快乐的参与者。就像你的哥哥送你一个他用旧了的自行车,你应该珍惜这份友情,而不要在车坏了,或者骑车摔了一交的时候大骂你的哥哥。如果你真的不能使用这种合作的心态,那么最好不要使用这个软件。这是一种先进的文化,它包含了互相合作,科学创新的精神。理解这一点不是很容易,很多人往往是因为不能理解这种文化而离开自由软件。这对于作者来说并没有什么损失。  9.干你的正事去  很多人跟我说,你的网页浪费我好多时间来配置这配置那,一会儿是FVWM,一会儿是Mutt……嗯……那些东西都是我有空的时候一点一点积累的,如果你想一次性搞定所有那些东西,恐怕得花你几个星期甚至几个月的时间!并不是一定要搞定所有这些东西你才能正常工作的。除非你真的非得利用某个程序,或者你闲着没事,否则你可以不管这些东西。  10.上面几条仅供参考以上只是个人意见,不一定适合所有人。取舍由你了!本篇文章来源于黑客基地-全球最大的中文黑客站原文链接:http://hackbase.com/tech/2007-11-24/102038834678/----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

102----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方学习嵌入式Linux的笔记和体会2006-10-0821:42一个典型的桌面Linux系统包括3个主要的软件层---linux内核、C库和应用程序代码。内核是唯一可以完全控制硬件的层,内核驱动程序代表应用程序与硬件之间进行会话。内核之上是C库,负责把POSIXAPI转换为内核可以识别的形式,然后调用内核,从应用程序向内核传递参数。应用程序依靠驱动内核来完成特定的任务。在设计嵌入式应用的时候,可以不按照这种层次,应用程序越过C库直接和内核会话,或者把应用和内核捆绑在一起,甚至可以把应用写为内核的一个线程,在内核中运行,虽然这样在移植上带来了困难,但考虑嵌入式系统对尺寸要求小的特点,是完全可行的。不过我们使用三层软件结构的模式来学习嵌入式linux将会是我们认识更清晰,简单可行并使应用具有弹性。快速入门最简单的建立嵌入式Linux应用的方法就是从我们使用的桌面Linux入手,安装一个喜爱的版本,把我们的某个应用作为初始化的一部分,框架就算完成了。当然,嵌入式linux应用远比我们的桌面版本功能简单专一,它也许就是一个用于足彩的终端机,或是一个数码音频播放器,这些系统除了使用嵌入式CPU外,仅仅再需要一个串口,网口等少量的输入输出接口就可以完成它们特定的应用了。在软件上,它可以按照三层的概念由内核装载器,定制的内核和较少的为特定任务设计的静态连接的应用程序组成。之所以使用静态连接的应用程序,是因为少量的静态连接程序所要的存储空间,比同样数量的动态连接的程序所占的空间小,这个平衡点需要我们在实际开发中去获取。也许你正在设计的是个PDA,它的应用程序较多,那么你很可能就要使用动态连接程序来减少存储空间。在你的/bin或者/sbin目录下,用厂列表看看bash,ifconfig,vi...,也许只用几十K,当你运行ldd/bin/bash时,你会看到它们都和好几个库文件相连。好了,这样看来,我们得把PC想像成一个嵌入式硬件平台,再重新制作一个特定功能的嵌入式linux。基础知识再进行实际操作之前,先来搞清楚几个基础知识。内核装载器Loader,它的作用是把内核从外部存储器,移动到内存中。它只作这个事情,一旦完成了调入内核的工作,Loader就跳转到内核位置开始执行。不同架构有不同的Loader,在x86结构的PC上,通常使用的loader有LILO,GRUB,syslinux,syslinux在嵌入式linux中也同样工作。其他非x86架构的应用中,你必须使用专门的loader,或者自己编写loader来装入内核。也有不使用loader的情况,系统加电以后,内核直接从烧录有映象的Flash上开始执行。内核,一旦内核开始执行,它将通过驱动程序初始化所有硬件,这可以从我们的pc机监视器的输出看出来,每个驱动程序都打印一些有关它的信息。初始化完成后,计算机就准备运行嵌入式应用。也许一个,也许是多个应用程序组成了嵌入式应用,但通常首先调用的是init(通过loader向核心传入init=/program----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

103----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方可以定制首先运行的程序)。桌面linux中,init会读取/etc/inittab文件,来决定执行级别和哪些脚本和命令。嵌入式应用中,可以根据实际的情况决定是否使用标准的init执行方式,也许这个init是个静态程序,它能够完成我们的嵌入应用的特定任务,那完全不用考虑inittab了。initrd文件系统,initrd以一种把内核从存储介质装入到内存的相同的机制来装入一个小型文件系统。这个文件系统最好是以压缩的方式存储在介质上的,解压缩到RAM盘上。通过使用initrd,包含有核心驱动和启动脚本的小文件系统,就可以直接从介质上和内核一起启动起来,内核届压缩这个文件系统,并执行这个文件系统上叫做/linuxrc的脚本文件,这个脚本通常会把启动过程中所需要的驱动程序装入。脚本退出以后,initrd文件系统也卸下了,启动过程进入真正初始化过程。对于嵌入式来讲,可以将需要的应用软件都运行在这个initrd文件系统上,只要/linxrc文件不结束,内核启动过程的其他部分就不会继续。做个试验:cp/boot/initrd-2.4.20.img/tmpcd/tmpmvinitrd-2.4.2-.imginitrd.img.gzgunzipinitrd.img.gzmount-oloopinitrd.img/mntcd/mntlscatlinuxrc可以看到里面执行了加载了两个模块的操作,你在启动linxu的时候会看见屏幕打印信息。入门试验,制作一个简单的应用我们使用一张软盘启动一台假象的只有一个串口,键盘输入,显示输出的x86架构的linux系统,执行的特定应用就是运行minicom,通过串口拨号。需要软件:minicom-xx.src.tar.gz和syslinux-xx.tar.gz,xx代表版本号,开始之前,在主目录建立一个目录,来释放这两个软件包:cdmkdir-pproject/minilinuxcdproject/minilinuxtarzxvfminicom-xx.src.tar.gztarzxvfsyslinux-xx.tar.gz1、裁减linux内核(需要系统安装内核文件包)配置内核的时候,我们需要选择这些:摸块编入内核,386处理器、物理内存off、支持ELF、标准PC软盘、支持RAM盘(4096)、支持initialRAMdisk(initrd)、虚你终端、虚拟终端控制台、标准串口、ext2文件系统、控制台驱动,VGAtextconsole、DOSFAT、MSDOS文件系统,其他的都可以不要,这样内核编出来较小。步骤:cd/usr/src/linuxmakemrpropermakexconfigmakedep&&makebzImage得到/usr/src/linux/arch/i386/boot/目录的内核文件bzIamge。2、编译一个静态的minicom,把它作为将来的linuxrc----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

104----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方cdminicom-xx/srcviMakefile修改下面这行minicom:$(minicom_OBJECTS)$(minicom_DEPENDENCIES)rm-fminicom下面的行加上-static,连接为静态程序(LINK)-static$(minicom_LDFLAGS)$(minicom_OBJECTS)$(minicom_LDADD)$(LIBS)viminicom.c找到if(real_uid==0&&dosetup==0)删除这个判断条件语句,主要是用于权限判断的,因为这个嵌入应用不关注权限问题,否则会出错。make得到可执行程序,用ldd检查一下是不是静态程序。3、准备initrd压缩文件image.gzddif=/dev/zeroof=imagebs=1kcount=4096losetup/dev/loop0imagemke2fs-m0/dev/loop0mounmt-text2/dev/loop0/mnt/mkdir-p/mnt/devmkdir-p/mnt/usr/share/terminfo/l/cd/devcp-aconslenullttytty0zeromem/mnt/devcp-P/usr/share/terminfo/l/linux/mnt/usr/share/terminfo/l/linuxcp~/project/minilinux/mincom/src/minicom/mnt/linuxrcumount/mntlosetup-d/dev/loop0syncgzip-9image4、制作软盘引导,并拷贝文件bzimageimage.gz到软盘A.使用grubfdformat/dev/fd0mke2fs/dev/fd0mount/mnt/fd0/mnt/floppymkdir-p/mnt/floppy/boot/grubcp/boot/grub/stage1/boot/grub/stage2/mnt/floppy/boot/grub执行grub,在软盘上创建引导grub>root(fd0)grub>setup(fd0)grub>quit----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

105----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方cp/usr/src/linux/arch/i386/boot/bzImge/mnt/floppycp~/porject/minilinux/image.gz/mnt/floppy编辑/mnt/floppy/boot/grub/grub.confdefault=0timeout-=10titleminilinuxroot(fd0)kernel/bzImageinitrd/image.gz卸下软盘umount/mnt/floppyB.使用syslinuxfdformat/dev/fd0mkfs.msdos/dev/fd0mount-tmsdos/dev/fd0/mnt/floppycp/usr/src/linux/arch/i386/boot/bzImge/mnt/floppycp~/porject/minilinux/image.gz/mnt/floppycpsyslinux-xx/ldlinxu.sys/mnt/floppycat>/mnt/floppy/syslinux.cfgLABELlinuxKERNELbzimageAPPENDinitrd=image.gzumont/mnt/floppysyslinux-xx/syslinux/dev/fd0sync5、用软盘启动计算机,如果幸运,minicom的运行画面出现在屏幕上。到此,我们的单应用嵌入式linux做好了,但它还很简陋,没有什么实际用途,但通过这个实验,可以了解嵌入式系统的大致结构和开发过程。在进行实际的嵌入式开发时,通常要在PC机上借助嵌入式linux开发工具包,如:uclinux,bluecat等,对相应的硬件平台(目标机)进行软件编写编译,调试成功后,将内核及应用程序写入到目标机的存储器中,从而完成整个应用。----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

106----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方一个Linux学习高手写给初学者的话佚名/2008-09-18 现在好多的人开始接触电脑的时候,见到的应该是Windows98说实话,98 已经是一个很人性化,封装的很好的一个系统了一个对电脑一窍不通的人都能很快的使用它。这样很多人对 "电脑"的印象和那些和我一样一开始接触的是DOS人是绝然不同的。在DOS时代,如果你对电脑的基础知识不懂的话是玩不动它的,不像现在好多人CPU是什么都不知道,却能够是Flash 高手,倾倒MM无数。如果你是这样的人,你要学Linux,你有一段回头路要走,为什么,看下去。  我们先看看MS操作系统的发展,他有两套内核MSDOS--->DOS+Win3.2-->Win9X    --->WinXP WindowsNT3.1---NT4.0-->Win2000 /   他的发展是从DOS这个纯字符界面的系统发展到一个由字符界面的内核加上一个图像界面的应用程序(Win3.2)再到结合把两个合为一体的Win95,到现在再并上一开始就是图形界面的NT成为WindowsXP,他未来的野心就是并上internet成为 .net现在我们来看Linux,Linux只是个内核!这点很重要,你必须理解这一点。   只有一个内核是不能构成一个操作系统的。现在的linux操作系统如redhat,蓝点,红旗等,都是用这么一个内核,加上其它的用程序(包括X)构成的。任何一个叫做操作系统的东西都是这样子构成的:内核+用户界面+一般应用程序----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

107----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方。   现在我就拿MS的系统和linux的系统的互相对应来让大家更多的认识Linux如果你装过DOS,那你一定知道安装完成之后整个硬盘是这样根目录下有io.sys msdos.sys command.com config.sys autoexec.bat共5个文件,以及C:dos这个目录,很简单。其中io.sys和msdos.sys就是系统的内核,command.com是用户界面(shell),config.sys和autoexec.bat是配置文件,C:DOS目录下面的是一般应用程序系统启动时首先装入io.sys,再根据配置文件的设置装入msdos.sys和command.com,然后就出现提示符,现在你就能输入命令了。如copy c:aaa.txt d:aaa.txt 来拷贝文件。也你能够使用C:dos目录下的一些应用程序来完成工作,如用edit编辑文件,用Qbasic写basic程序。   接下去你安装了一个叫做Foxpro2.6的程序,这个程序可以让你做一些数据库方面的工作,然后你在安装了一个叫做windows3.2中文版的程序,这个程序可厉害了,你现在不用在命令行下打命令了,可以用鼠标来操作了,打开文件管理器,打开C 再打开另一个窗口D,用鼠标一拉就能完成copy c:aaa.txt d:aaa.txt这个命令,你只是动了几次食指和现在在windows98下没么两样。  OK ,goto linux安装好linux之后根目录下有boot,bin,sbin,etc,usr/bin,等几个目录 boot下有vmlinuz这个文件,这个就是内核,就是目前世界上最厉害的黑客linus带头写的那个东东。   bin下有sh,这个就是shell(==command.com,用户界面)因为UNIX系统是没有内部命令这个说法的,准确地说/bin+/sbin == Command.com而/etc == config.sys + msdos.sys剩下/usr/bin == c:dos   当然。因为Linux比Dos庞大得多,所以,reahat和红旗或者有不同的安排方法,各种目录下的东西并不规则。linux的启动同样是装载vmlinuxz,然后装载sh(或者其他的shell,如bash),出来提示符。现在你同样能输入命令了。如cp /aaa.txt /tmp/aaa.txt。同样可以用vi编辑文件,用gcc编译程序   接下去你安装了一个叫做MySQL的程序,这个程序可以让你做一些数据库方面的工作,然后你再安装了一个叫做kde4.0的程序,这个程序可厉害了,你现在不用在命令行下打命令了,可以用鼠标来操作了,打开文件管理器,打开/ 再打开另一个窗口/tmp,用鼠标一拉就能完成cp /aaa.txt /tmp/aaa.txt这个命令,你只是动了几次食指和现在在windows98下没什么两样   看到这里希望你明白我为什么说你在走回头路,因为目前的Linux操作系统==MS的Win3.2但MS系统已经走过了9X,现在是XP了,整整落后了两代。当然,这是从用户界面上来说的,但也恰恰是很多人装个Linux之后就是在X的kde上搞东搞西,而其它的什么都搞不起来,为什么搞不起来因为你没搞过DOS,你根本就不知道系统还可以有这样的搞法。你一开始接触的就是98,电脑给你的感觉就是用鼠标来操作的东西,你认为同样是操作系统,Linux也应该是这样的东西。你根本就没有想过你一直以为你在玩的是Linux,但实际上你玩的只不过是一个运行在Linux系统上的程序而已。因此很多人装完搞了几天说,靠,Linux不过如此。这话可以说对也可以说不对Linux嘛,你都还没见到是什么样子,你有什么资格说它怎样呢?但kde嘛,就真的确实不过如此,你用过98吧,现在你去用用3.2看看,你有什么 感觉?从稳定性来说,我不拿98比了,拿95,如果同样的工作,95一天崩溃1次的话,那X会崩溃10次,如果是2000的话,2000一天崩溃1次,X会崩溃100次。和3.2是差不多的。但为什么还是会听说比如某些好莱坞的电影特技是在Linux上完成的呢?为了出席一次重要宴会,你可以去买一套名牌西装,也可以去订做一套,订做的当然更加合身更加好看,但价格也更贵,工作量也更大,名牌西装==Windows系统,----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

108----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方定做西装==Linux系统+修改系统内核+修改X代码+修改kde代码+专门写的特技软件----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

109----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方你现在装的那套西装是街边货,也就是reahat服装厂为了适应全世界所有人的身材批量生产的东东。明白了吧?如果你明白,那你也就明白了Linux比Window好的一个方面了,我也就不用废话,那么为什么Linux往往会和黑客撤上关系呢?记得我看过一本书这么写,"Linux是由一个叫linus的黑客及互联网上很多的黑客共同编写而成"。所以,一个由黑客写成的系统怎么会和黑客没有关系呢?当然这个“黑客”的定义和现在很多中国人心中的"黑客"的定义是绝然不同的前者是几乎从未入侵过其他系统,而后者是入侵过就是了。  如果你是一个美术工作者,你也是几乎除了睡觉就在用电脑,你时时都开着photoShop在那里搞啊搞,在美术这个行业,你也算得上是这个行业里的高手了。但你根本就不关心你所做的,电脑里面到底是怎么帮你完成的。电脑不过是你创作的一个工具。就像音乐是很多人喜欢听的,但你根本不关心你所听到的音乐,她从原来歌星嘴里发出来到被你来欣赏,她到底是怎么个回事。但对一HIFI发烧友而言,她关心的就只是这些。现在回到我刚刚说到了copy命令,对于一个黑客而言,她根本不关心aaa.txt这个文件里面的内容,她关心的是从C:aaa.txt到d:aaa.txt这个过程中,电脑它到底干了什么?现在我问一下正在看这个帖子的人:把一个文件从一个地方拷贝到另一个地方这个事情你肯定是做过的对吧?但当你这样做的时候,你是否有想过电脑内部它是怎样来完成你的这个操作的呢?如果你的回答是:哎呀,我倒真的从未想过耶~~那么,你根本没有黑客的天分,你还是到轻松一刻混比较有前途。   寻根问底是黑客的天性,在这点上,Linux可以满足,但windows不能,你在dos上按下copy C:aaa.txt d:aaa.txt。复制的任务是完成了,但电脑作了什么你知道么?你只能根据你的经验的积累,大概的判断系统怎么完成,在你没看过copy的源代码之前你根本没法确定你的判断是否正确的。但UNIX上cp的源代码基本上是随手就能拿到。   TCP/ip方面,linxu可以让你一杆子捅到内核中去,但windows你只能捅到winsockapache和系统的具体交流你可以一清二楚,但IIS和系统的交流你却不可能知道Linux和黑客的关系是在这里,和入侵是一点关系都没有的。很多远程漏洞的攻击程序是要在unix系统上编译的这没错,但是那些程序本来的意义就是举个例子让你看好过说,你看得懂的话,改一改在Win上同样可以编译。   UNIX和Windows相比有太多的优点,也有太多值得你去弄的地方,只是我说不出来就像你深爱一个人的时候,你根本没法说出你爱他什么,她有什么地方值得你去爱但,Windows不是垃圾,绝对不是,作为一个工具来使用,她比UNIX好上几百倍似乎你现在都该明白为何很多远程漏洞的攻击程序是以unix的习惯写的,因为能够发现这个漏洞,说明他对系统相当的熟悉,而且是UNIX让他对系统相当的熟悉,他不自觉地就是用了UNIX的那一套,不过,它的这些代码却很大的可能是用UltraEdit在windows系统下敲的。   好像跑题了,我说要给想学Linux(UNIX)的朋友的一点建议,但却说了这样的话,   但我觉得没有跑题,我希望你看到这里已经能够知道我要给你的建议是什么了。   1.根据你目前的水平,确定Linux对你的意义有多大。   2.确定你玩的是Linux而不是X   3.把X系统卸了,剩下的空间装上源代码   4.不要用rpm -i的方式安装程序,用自己编译的方法   5.找个合用的telnet软件,我推荐SecureCRT.   6.如果你只有一台电脑,安装Vmware.用这个方式来接触UNIX   7.再看一下帖子,自己再一次体会我帖子中暗藏的建议   8.在学习Linux的过程中的,把被linux玩的经验记下来   9.在玩linux的过程中,把linux怎么被你玩的趣事记下来----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
最近更新
更多
大家都在看
近期热门
关闭