94备课笔记-Linux编程基础

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Linux 编程基础 CCIT 计算机学院 嵌入式教研室 於志强常州信息职业技术学院 计算机学院 Linux编程基础 1 目录一、Linux基础..................................................21.操作系统..................................................22.Linux简介................................................43.嵌入式Linux..............................................54.C语言概述................................................6二、常用Shell命令.............................................102.1用户系统相关命令........................................102.2文件目录相关命令........................................152.3压缩打包相关命令........................................222.4网络相关命令............................................24三、Vi编辑器..................................................283.1vi的基本模式...........................................283.2vi的基本操作...........................................28四、GCC编译器.................................................334.1gcc编译流程解析........................................334.2gcc编译选项分析........................................33五、GDB调试工具...............................................355.1gdb使用流程............................................355.2gdb基本命令............................................355.3GDB使用实例............................................38六、Make工程管理器............................................396.1Makefile基本结构.......................................396.2Makefile变量...........................................396.3Makefile规则...........................................416.4Make管理器的使用.......................................41参考文献......................................................43常州信息职业技术学院 计算机学院 Linux编程基础 2 一、Linux基础计算机系统由硬件和软件两部分组成。操作系统式计算机中的底层软件,其他软件如数据库、编译系统和应用软件都依赖于操作系统的支持。1.操作系统 1.1 操作系统的概念操作系统(OperatingSystem,简称OS)是用户与计算机硬件系统间的接口,是用于控制其他程序运行,管理系统资源并为用户提供操作界面的系统软件的集合。通过操作系统,用户可以安全、快捷地操纵计算机硬件系统并运行自己的程序。同时,操作系统也便于对计算机系统的各项资源进行管理。操作系统是计算机系统的内核与基石,是一个庞大的管理控制程序,大致包括5个方面的管理功能:进程与处理机管理、作业管理、存储管理、设备管理、文件管理。目前微机上常见的操作系统有DOS、Windows、UNIX、LINUX、XENIX、Netware等。用户使用操作系统主要通过两种方式进行:一是通过执行shell命令方式,典型的如DOS的command,UNIX及Linux的bsh、csh等;二是编写程序,通过调用操作系统提供的系统调用接口,访问操作系统的各种资源。用户使用操作系统的两种方式如图1-1所示。图1-1操作系统接口 1.2 操作系统基本功能典型的操作系统中,通常包含多种软硬件资源,如处理器(CPU)、存储器(内存、磁盘)、输入输出设备、数据或程序等,其组织结构如图1-2所示:计算机硬件操作系统系统调用Shell命令接口应用程序用户OS常州信息职业技术学院 计算机学院 Linux编程基础 3 图1-2计算机系统的组织结构操作系统的基本功能包括以下几点:1.处理机管理:对处理机进行分配,并对其运行进行有效的控制和管理。通常情况下,处理机的分配以进程为单位,所以一般可归结为进程管理。2.存储器管理:负责内存的分配与回收。为程序的运行分配内存空间,为程序提供良好的运行环境,方便用户合理使用存储器。3.输入/输出设备管理:负责输入/输出设备的分配与控制,如从键盘鼠标输入数据,向打印机打印输入。 4. 文件管理:负责文件的存取。通常情况下,程序和数据总是以文件的形式存储在磁盘等介质中供用户使用。文件管理的主要任务就是对文件进行有效的管理。 1.3 主要操作系统介绍操作系统从诞生至今已有近50年的历史。上世纪60年代至70年代是操作系统发展的活跃时期。到上世纪80年代至90年代,已发展的比较成熟,功能日趋完善,性能更加优化,主要分以下几种:ØMS-DOS操作系统:微软1981年推出,随IBM公司的IBM-PC计算机一起发行,随着PC计算机的畅销,MS-DOS成为16位计算机操作系统的标准。ØWindows系列操作系统:1990年,微软推出了Windows3.0版本,以其友好的图形界面征服了广大计算机用户。该操作系统同时具有支持多任务、易学好用的特点,在PC领域迅速流行。1993年推出的WindowsNT是真正的32位多任务操作系统,用于服务器领域。1995年Windows95的推出,更加巩固了Windows在PC的市场,后来还有Windows98、WindowsME、Windows2000,发展到现在的WindowsXP、WindowsVista、Windows7一系列操作系统,是目前PC领域绝对的主流。ØUNIX操作系统:UNIX是1969年由AT&T贝尔实验室的丹尼斯·里奇与肯·汤普逊所建立,是多用户、多任务的操作系统,一开始是在小型机、大型机上使用,现在也可以在微机上使用,具有优良的性能和强大的安全控制机制,但由于厂商众多,所以种类也很多,如IBMAIX、SunSolaris、HP-UX、SCOUnix等,目前是服务器领域最重要的操作系统。ØLinux操作系统:实际上时UNIX的变种,一开始是为PC建立的,继承了UNIX的全部优点,是开放源码的自由软件。目前在服务器领域也大行其道,占据了一定的市场份额。Linux还提供了不亚于Windows的华丽的用户界面,吸引了大量桌面办公领域的用户由Windows转向Linux阵营,不同厂商有着不同的发行版本,但内核一般都是相同的。处理机(CPU)存储器存储器存储器总线常州信息职业技术学院 计算机学院 Linux编程基础 4 2.Linux简介最早开始于一位名叫LinusTorvalds的计算机业余爱好者,当时他是芬兰赫尔辛基大学的学生。他的目的是想设计一个代替Minix(是由一位名叫AndrewTannebaum的计算机教授编写的一个操作系统示教程序)的操作系统,这个操作系统可用于386、486或奔腾处理器的个人计算机上,并且具有Unix操作系统的全部功能,因而开始了Linux雏形的设计。 Linux 的历史Linux历史是和GNU紧密联系在一起的。1983年,RichardStallman创立了GNU计划(GNUProject,GNUisnotUnix)。这个计划有一个目标是为了发展一个完全免费自由的Unix-like操作系统。自1990年代发起这个计划以来,GNU开始大量的产生或收集各种系统所必备的元件,像是——函数库(libraries)、编译器(compilers)、侦错工具(debuggers)、文字编辑器(texteditors)、网页服务器(webserver),以及一个Unix的使用者接口(Unixshell)——除了执行核心(kernel)仍然付阙外。1990年,GNU计划开始在马赫微核(Machmicrokernel)的架构之上开发系统核心,也就是所谓的GNUHurd,但是这个基于Mach的设计异常复杂,发展进度则相对缓慢。1991年4月,芬兰赫尔辛基大学学生LinusBenedictTorvalds(当今世界最著名的电脑程序员、黑客)不满意Minix这个教学用的操作系统。出于爱好,他根据可在低档机上使用的MINIX设计了一个系统核心Linux0.01,但没有使用任何MINIX或UNIX的源代码。他通过USENET(就是新闻组)宣布这是一个免费的系统,主要在x86电脑上使用,希望大家一起来将它完善,并将源代码放到了芬兰的FTP站点上任人免费下载。本来他想把这个系统称为freax,意思是自由(free)和奇异(freak)的结合字,并且附上了X这个常用的字母,以配合所谓的Unix-like的系统。可是FTP的工作人员认为这是Linus的MINIX,嫌原来的命名“Freax”的名称不好听,就用Linux这个子目录来存放,于是它就成了“Linux”。这时的Linux只有核心程序,仅有10000行代码,仍必须执行于Minix操作系统之上,并且必须使用硬盘开机,还不能称做是完整的系统;随后在10月份第二个版本(0.02版)就发布了,同时这位芬兰赫尔辛基的大学生在comp.os.minix上发布一则信息:Helloeverybodyoutthereusingminix-I'mdoinga(free)operationsystem(justahobby,won'tbebigandprofessionallikegnu)for386(486)ATclones.由于许多专业用户(主要是程序员)自愿地开发它的应用程序,并借助Internet拿出来让大家一起修改,所以它的周边的程序越来越多,Linux本身也逐渐发展壮大起来。倍受青睐的原因Linux之所以受到广大计算机爱好者的喜爱,主要原因有两个,一是它属于自由软件,用户不用支付任何费用就可以获得它和它的源代码,并且可以根据自己的需要对它进行必要的修改,无偿对它使用,无约束地继续传播。另一个原因是,它具有Unix的全部功能,任何使用Unix操作系统或想要学习Unix操作系统的人都可以从Linux中获益。运行Linux需要的配置并不高,支持众多的PC周边设备,并且这样一个功能强大的软件完全免费,其源代码是完全公开的,任何人都能拿来使用。说到这里,各位可能怀疑这免费常州信息职业技术学院 计算机学院 Linux编程基础 5 后面是不是隐藏着什么?作者会心甘情愿的把它拿出来而分文不取吗?其实,它代表着软件开发的另一种概念:那就是基于GNU的版权制度。标志与读音linux发音五花八门版本颇多,见到和听到的不下10种。根据linux的创始人LinusTorvalds的说法,Linux的发音和“Minix”是押韵的。“Li”中“i”的发

1 / 44
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功