您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 南邮-Linux-第1章
Linux编程计算机学院韩京宇hjymail@163.com课程介绍帮助大家了解Linux操作系统的基本原理和使用方法。使大家掌握利用Linux进行软件开发的基本技能。培养对系统软件体系结构的认识。课程介绍本课程共32个学时,2个学分。26个理论课时,6个上机课时。开卷考试。学习方法在自己的机子上安装一个Linux操作系统,比如Fedora,Ubuntu等。个人推荐安装Ubuntu,网上免费下载,也可以自己写信索取,对方免费邮寄。学习方法可以是单系统(仅Linux),也可以是双系统(Linux和Windows)。双系统(不推荐虚拟机)先安装windows,再安装Linux.推荐书目•鸟哥的Linux私房菜(两本:基础篇和应用服务器篇),科学出版社•Linux应用程序开发(第二版)•Linuxapplicationdevelopment•MichaelK.Jonhenson著武延军郭松柳•LinuxC/C++入门与进阶,科学出版社学习要求不迟到,不早退,迟到请勿进课堂安静,有事自己出去作业认真完成实验认真完成平时表现占40%答疑安排•时间:课间答疑•地点:上课教室或休息室掌握三块核心内容Linux基本命令(1-3章)Shell编程(第4章)LINUX上C编程(5-8章,重点是5、6章)第1章Linux操作系统概述1.1Unix的发展历史1.2GNU的诞生和发展1.3linux内核1.4linux系统1.5linux系统的商业运行模式1.1Unix的发展历史内容•1.1.1unix的产生和两大分枝•1.1.2unix的相关标准1.1.1unix的两大分枝•1968年,通用电器公司、贝尔实验室和美国麻省理工学院的研究人员开发了一个名为Multics的操作系统,引入了现代操作系统的概念雏形。1.1.1unix的两大分枝•1969-1970年,AT&T的贝尔实验室研究人员KenTompson和DennisRitchie在Multics基础上用C语言开发出Unix系统。•贝尔实验室AT&T从1983年发行了第一个商业版本,名为SystemⅢ,后来被具有良好商用软件支持的SystemⅤ所替代。这个分枝即SystemV系列。1.1.1unix的产生和两大分枝•1978年伯克利大学在第六版本的基础上进行了修改,增加了新的功能,发布了BSD(BerkeleySoftwareDistribution),开创了Unix的另一个BSD系列分支。•Unix的发展主要两大分支:SystemV系列和BSD系列。1.1.1unix的产生和两大分枝•Unix-likeOSsUNIXTTSVersion1..10KenThompsonDennisRitchieSystemIII,VHP-UX11v2AIX(IBM)5.3UnixWare(Univel/SCO)7.14IRIX(SGI)6.5.30SystemIII&VFamilyBSD(BerkeleySoftwareDistribution)1970198019902000timeSunOS(Stanford)Solaris(SUN)10Mach(CMU)FreeBSD7.0NetBSD4.0OpenBSD4.2NextStepMacOS10.4.6XenixOS(MS/SCO)GNUProjectLinux2.6.**MinixBSDFamilyBillJoyRichardStallmanLinuxTorvals1.1.1unix的产生和两大分枝•BSD版本在版本3之后将代码进行了重写,BSD版本此后不再包括有版权的Unix代码。•伯克利发行了名为BSDRelease4.2的有效版本。它包括了高级的文件管理。实现了对TCP/IP网络协议的支持。1.1.1unix的产生和两大分枝操作系统特点NetBSD在世界上最多的平台上运行的Unix操作系统FreeBSD专注于实用领域OpenBSD专注于安全性和可靠性DarwinApple的BSD操作系统DragonflyBSD最新诞生的BSD分支1.1.2unix的标准为了实现不同Unix版本的相互兼容。为此,制定必要的协议标准。(1)ANSIC/ISOC(a)ANSIC是美国国家标准局制定的C语言标准。是为各种操作系统上的C程序提供可移植性保证,它不仅限于Unix。(b)国际标准化组织接受为标准,也称为ISOC。(c)该标准不仅定义了C编程语言的语法和语义,而且还定义了一个标准库。1.1.2Unix的标准(2)POSIX(PortableOperatingSystemInterfaceforComputingSystems)该标准规范了操作系统的应用编程接口,目的是使应用程序源代码不加修改地移植到多种Unix操作系统。1.1.2Unix的标准Posix版本目标1003.1库函数和系统调用标准1003.2命令工具标准1003.3测试方法标准1003.4实时标准1003.5Ada语言相关标准1003.6安全标准1.1.2Unix的标准(3)SVIDSystemV接口描述(SVID)是描述AT&TUnixSystemV操作系统的文档,是POSIX标准的扩展超集。(4)XPG/X/OpenXPG是UNIX操作系统必需满足的标准;X/Open可移植性指南,是比POSIX更为一般的标准。1.2GNU的诞生与发展•1.2.1自由软件计划(GNU)•1.2.2许可证协议(GNUGPL)•1.2.3自由软件(freesoftware)和开源软件(opensourcesoftware)1.2.1自由软件计划•发起人RichardMatthewStallman(简称RMS)认为,对所有软件知识产权的约束会妨碍技术的进步,他倡导所有软件应摆脱知识产权的约束。•内容:1983年发起GNU计划,GNU(GNU‘sNotUnix的缩写)发音为“guh-NEW”。GNU的目的是开发一个自由的类Unix的完整操作系统。•自由软件的含义:是任何人可自由使用、学习、复制、修改和发布。1.2.1自由软件计划(1)1985年,RMS创立了自由软件基金会FSF(theFreeSoftwareFoundation)。由自由软件基金会负责对GNU计划进行组织和推广工作。(2)到1990年,GNU计划已开发出文字编辑器emacs、C语言编译器gcc、C语言函数库glibc、shell解析器bash以及类Unix的工具软件,当时,唯一未完成的是操作系统内核HURD。1.2.2许可证协议(1)GPL:GeneralPublicLicense,通用公共许可证,协议规定用户可自由使用、复制、修改和发布自由软件,协议要求在对软件进行修改后,如果要再次发布,需将已修改的部分同时发布出来。(2)LGPL(LesserGeneralPublicLicense)是一种基于GPL的扩展协议,它放宽了用户使用源代码的限制,允许源代码以链接库的形式提供给商业开发。1.2.2许可证协议(3)BSD(BerkleySoftwareDistribution)是一种具有较多灵活性的开源协议。1.2.2许可证协议理解提示:GPL它要求软件以源代码的形式发布,任何用户都能够以源代码的形式将软件复制或发布给别的用户。如果用户的软件使用了受GPL保护的任何软件的一部分,那么,该软件就继承了GPL软件,并因此而成为GPL软件,也就是说必须随应用程序一起发布源代码。1.2.3自由软件和开源软件•自由软件和开源软件•GNU计划的创始人RMS倡导的自由软件(freesoftware)是一种可以不受限制地自由使用、复制、研究、修改和分发的软件。•开源软件(opensourcesoftware)是指一种公开源代码的软件。通常,用户可以使用、复制、修改和分发软件的源代码。1.2.3自由软件和开源软件•自由软件的目的在于自由地“分享”与“协作”。并不是价格免费。•开源软件则是从技术的角度,为了提高软件质量所采用的一种开发模式。软件发行时,必需有源代码,便于完善软件,不一定免费(但通常是)。1.3linux内核•1.3.1Minix操作系统•1.3.2linux的产生和发展•1.3.3linux内核版本•1.3.4linux内核分类1.3.1Minix操作系统1987年,荷兰籍教授AndrewTanenbaum开发出基于PC机的类Unix的操作系统命名为Minix。Minix采用C语言和少量汇编语言,不含任何AT&TUnix的代码,Minix内核的代码量较小,采用微内核结构,一万二千行代码。相关源代码可以从下载,源代码遵守BSD版权协议。《操作系统教程:Minix设计与实现》。1.3.2linux产生和发展1991年,芬兰赫尔辛基大学学生LinusTorvalds在Minix设计思想的基础上,在Internet上发布了Linux0.01内核,是单内核结构。Linux0.01版只能运行于386处理器上,只提供有限的设备驱动,只支持Minix文件系统,,对网络不提供支持。1.3.2linux产生和发展1994年,Linux1.0发布,和Linux0.01相比,增加了新的文件系统、内存文件映射和对TCP/IP协议的支持。1996年,Linux2.0内核版本发布,增加了多种硬件体系结构和多处理器结构的支持,内存管理代码进行了改进,提升了TCP/IP性能,提供了对内核线程的支持。2006年,Linux2.6内核版本发布,将以往的非抢占式内核升级为抢占式内核,改进了进程调度策略,以适应实时应用环境的需要。1.3.2linux产生和发展•Linux赢得了大型数据库软件公司支持。•IBM大型机全面预装Linux操作系统,HP、SUN公司也将推出自己的桌面发行版本,SGI在开发大型Linux图形工作站。•全球巨型机中许多使用Linux操作系统。1.3.3内核版本号的命名•Linux的内核版本由3部分组成Linux-x.y.z–主版本号x,内核设计有重大变化–次版本号y,内核有了一定的变化–末版本号z,版本有微小变化主版本号次版本号末版本号发行版本号1.3.4内核的分类1、标准linux内核•由网站维护。•该站点上的内核仅确保在X86体系结构上可正常运行。•基于X86处理器的内核。1.3.4内核的分类2.嵌入式Linux内核例如,在无内存管理单元的嵌入式系统上使用的μClinux和为ARM处理器开发的ARM(advancedRISCmachines)Linux等。1.4linux系统•1.4.1linux系统的概念•1.4.2GNU/Linux•1.4.3linux发行版1.4.1Linux系统的概念Linux系统是指包含Linux内核、工具软件和应用程序等在内的一系列软件的集合。Linux系统分为Linux内核、Shell命令解释器、环境工具和图形用户界面四个部分。1.4.1Linux系统的概念bash硬件图1-2Linux系统的层次结构内核Linuxkernelshell环境工具vicpgcccpglibcftpmakearGNOME图形用户界面1.4.1Linux系统的概念•内核是整个操作系统的核心,为上层应用提供基本的软硬件服务。•Shell是用户和内核交互的命令解析器。1.4.1Linux系统的概念•环境工具是各种具体软件的集合,如vi编辑器,gcc编译器等。•图形用户界面是一种基于窗口的应用软件,可以用鼠标操纵计算机。1.4.2GNU/Linux•严格意义上说,Linux指的只是Linux内核,Linux内核不能构成一个完整的Linux系统。•Linux内核与GNU工具相结合,形成了GNU/Linux。1.4.3Linux发行版由企业、组织和个人开发的基于GNU/Linux的操作系统,称为Linux发行版。这些发行版可分为商业发行版与社区发行版。例如,Fedo
本文标题:南邮-Linux-第1章
链接地址:https://www.777doc.com/doc-4170052 .html