Linux操作系统和程序设计1.ppt

  1. 1、本文档共71页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux操作系统和程序设计1

Linux操作系统 及程序设计;●教学目标:掌握Linux系统组成特点、常用命令和使用方法;深入了解和掌握Linux系统的内部结构、编译、调试和运行系统程序的方法;对Linux操作系统建立一个全面、系统的认识,进而对现代操作系统的设计方法和有较全面的认识,为进一步学习和应用打下基础。 ●教学主要内容:Linux系统基本使用,shell及其编程,Linux文件系统,多进程与多线程程序设计,进程间通信 ●教学时数:讲解辅助下的实验30学时 ;第一讲 Linux 简介 初步掌握Linux系统安装、实验环境构建和基本特点。; Linux概述;Linux发展迅速;Linux的应用发展方向 超级计算机系统 通用计算机系统 嵌入式计算机系统 Linux与Unix的关系 POSIX标准(1990/1996) Portable Operating System Interface of UNIX UNIX标准之争的产物,描述了系统调用、编程接口API、Shell机制和基本命令集、??时性、信号量机制等设计操作系统许多方面的规范。 ;自由软件 自由软件基金会 (FSF – Free Software Foundation) Richard M. Stallman – FSF创始人 自由软件是指其使用者对该软件有使用、复制、分发、研究、改写、再利用的自由。 自由是关乎权利,而非价格 Free指“自由”,而不是“免费”;自由权利 自由之一:不论目的为何,都有使用该软件的自由。 自由之二:有研究该软件如何工作的自由,并且可以改写软件,以符合使用者的需求。 前提:可以获得该软件的源代码。 自由之三:有重新散布该软件的自由,所以每个人都可以通过分发自由软件来帮助他人。 自由之四:有改进该软件的自由,并且公开发布软件的改进版本,使整个社群都可以受益。 前提:获得该软件的源代码。 一般在软件许可(License)中说明。;GNU项目 GNU’s Not Unix (有点奇怪? 是什么意思呢?) GNU GPL – GNU General Public License GNU读作g-noo GNU是一个类Unix操作系统 采用Linux作为内核 Richard Stallman专门写了一篇文章讲述来试图澄清Linux与GNU项目的关系: 《Linux and the GNU Project》 典型的桌面环境:GNOME,KDE;;开源软件 Open Source 是一种软件开发方法 旨在保证更好的质量、更高的可靠性、更大的灵活性、更低的费用,结束软件开发公司对使用者所进行的“掠夺” 。 开源也有自己的许可,其中重要的一条就是开源软件要公开源代码,这个许可尚处于讨论之中。;;Linux特点;*;*;代表一种开源文化 免费软件,开放源代码 自由软件,可在原有程序基础上开发自己的程序 GNU/Linux Linux仅指Linux内核 Linux系统的大部分应用都建立在GNU软件之上 核心结构 Linux内核 Linux Shell Linux文件系统 Linux应用系统 GNU Tools;*;不区分的缺陷 用户直接修改操作系统的数据 用户直接调用操作系统的内部函数 用户直接操作外设 用户任意读/写物理内存 区分的意义 禁止用户程序和底层硬件直接打交道 如果用户程序往硬件控制寄存器写入不恰当的值,可能导致硬件无法正常工作 禁止用户程序访问任意物理内存,否则可能会破坏其他程序的正常执行 如果对核心内核所在的地址空间写入数据,会导致系统崩溃;现代CPU都有几种不同指令执行级别 在高执行级别下,代码可以执行特权指令,访问任意的物理地址,这种CPU执行级别就对应着内核态 在相应低级别执行状态下,代码的掌控范围会受到限制,只能在对应级别允许的范围内活动 举例 intel x86 CPU有四种不同的执行级别0-3 Linux只使用0级和3级分别表示内核态和用户态 ;cs寄存器最低两位表明当前代码的特权级 CPU每条指令的读取都是通过cs:eip这两个寄存器 cs:代码段选择寄存器 eip:偏移量寄存器 上述判断由硬件完成 在Linux中,地址空间是一个显著的标志 0xc0000000以上地址空间:只能在内核态下访问 0~ 0xbfffffff的地址空间:两种状态下都可访问 注意,这里的地址空间是逻辑地址而不是物理地址;Linux是单内核、多模块系统 Linux内核运行在单独的内核地址空间 所有操作系统功能作为一个模块实现在其内核中 模块均运行在内核态,直接调用函数,无需消息传递 具备模块化设计、抢占式内核(Linux 2.6支持,Linux 2.4用户级抢占)、支持内核线程及动态装载内核模块的能力 与Unix主要区别 L

文档评论(0)

junjun37473 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档