<code id="aciqg"></code>

    <nav id="aciqg"></nav>
      <mark id="aciqg"></mark><mark id="aciqg"><ruby id="aciqg"></ruby></mark>
      购买

      ¥20.0

      加入VIP
      • 专属下载券
      • 上传内容扩展
      • 资料优先审核
      • 免费资料无限下载

      上传资料

      关闭

      关闭

      关闭

      封号提示

      内容

      首页 嵌入式课件之――第6章_Linux操作系统基础(修改版)

      嵌入式课件之――第6章_Linux操作系统基础(修改版).ppt

      嵌入式课件之――第6章_Linux操作系统基础(修改版)

      简介:本文档为《嵌入式课件之――第6章_Linux操作系统基础(修改版)ppt》,可适用于高等教育领域

      第章Linux操作系统基础*第章Linux操作系统基础主要内容Linux操作系统概述Linux内核的结构Linux设备管理Linux的使用*第章Linux操作系统基础Linux操作系统的产生及发展年LinusTorvalds首次接触Minix年LinusTorvalds开始在Minix上编写各种驱动程序等操作系统内核组件年LinusTorvalds公开了Linux内核?年Linux版发行Linux转向GPL版权协议?年Linux的第一个商业发行版Slackware问世?年美国国家标?#25216;?#26415;局的计算机系统实验室确认Linux版本符合POSIX标准年Linux的简体中文发行版相继问世年Linux版内核发布年Linux版内核发布。*第章Linux操作系统基础Linux操作系统的特点自由开放软件真正的多任务多用户UNIX的完整实现完全符合POSIX标准良好的用户界面强大的网络功能良好的可移植性设备独立性*第章Linux操作系统基础主要内容Linux操作系统概述Linux内核的结构Linux设备管理Linux的使用*第章Linux操作系统基础操作系统内核的结构模式可分为两种:整体式的单内核模式单内核也叫集中式操作系统。以提高系统执行效率为设计理念缺点是系统升级比较困难。层次式的微内核模式微内核?#20405;?#25226;操作系统结构中的内存管理、设备管理、文件系统等高级服务功能尽可能地从内核中分离出来变成几个独立的非内核模块而在内核中只保留少量最基本的功能使内核变得简洁可靠。Linux内核的结构Linux采用的是单内核模式Linux内核主要由五个子系统组成:进程调度内存管理虚拟文件系统网络接口进程间通信。*第章Linux操作系统基础进程调度进程调度控制进程对CPU的访问。采用?#23454;?#30340;调度策略使各进程能够合理的使用CPU。进程的定义一个进程是一个程序的一次执行过程。Linux进程的状态可运行状态、等待状态、暂停状态、僵死状态Linux下进程的结构数据段、堆栈段和代码段Linux进程的种类?#25442;?#36827;程、批处理进程、守护进程Linux进程的创建fork()函数进程所有操作都要依赖进程控制块taskstruct结构taskstruct结构是进程实体的核心是进程存在的唯一标?#23613;?第章Linux操作系统基础内存管理内存管理(MM)?#24066;?#22810;个进程?#36393;?#30340;共享主内存区域。Linux的内存管理支?#20013;?#25311;内存。Linux虚拟内存的实现需要种机制的支持:地址?#25104;?#26426;制、内存分配回收机制、缓存?#36864;?#26032;机制、请求页机制、?#25442;换?#21046;和内存共享机制。*第章Linux操作系统基础虚拟文件系统Linux的文件系统由两层结构组成。第一层是虚拟文件系统(VFS)第二层是各种不同的具体文件系统。*第章Linux操作系统基础进程间通信信号机制管道消息队列命名管道信号是在软件层次上对中断机制的一种模拟是进程间通信机制中唯一的异步通信机制。用于发送信号的主要系统函数有:kill()、raise()、sigqueue()、alarm()、setitimer()以及abort()。管道是利用有公共祖先的进程之间的共享文件描述符进行的一种通讯方式。命名管道不同于管道之处在于它提供一个路径名与之关联以FIFO的文件形式存在于文件系统中。消息队列实际上就是一个消息的链表。每个消息队列?#21152;?#19968;个队列头用结构structmsgqueue来描述。目前主要有两种类型的消息队列:POSIX消息队列和系统V消息队?#23567;?第章Linux操作系统基础网络接口Linux的网络接口分为四部分:网络设备接口、网络接口核心、网络协议族以及网络接口socket层。TCPIP协议栈四层模型Socket套?#24188;諸CPIP协议遵守一个四层的模型概念:网络接口层、互联层、传输层和应用层。Socket接口是TCPIP网络的API定义了许多函数或例程程序员可以用它们来开发TCPIP网络?#31995;?#24212;用程序。套?#24188;?#22522;本上有三种类型分别是数据流套?#24188;幀?#25968;据报套?#24188;?#21644;原?#32487;捉幼幀?第章Linux操作系统基础各个子系统之间的依赖关系进程调度与内存管理之间的关系:这两个子系统互相依赖。在多道程序环境下程序要运行必须为之创建进程而创建进程的第一件事情就是将程序和数据装入内存。进程间通信与内存管理的关系:进程间通信子系统要依赖内存管理支持共享内存通信机制这种机制?#24066;?#20004;个进程除了拥有自己的私有空间还可?#28304;?#21462;共同的内存区域。虚拟文件系统与网络接口之间的关系:虚拟文件系统利用网络接口支持网络文件系统(NFS),也利用内存管理支持RAMDISK设备。内存管理与虚拟文件系统之间的关系:内存管理利用虚拟文件系统支持?#25442;喚换?#36827;程定期由调度程序调度这也是内存管理依赖于进程调度的唯一原因。当一个进程存取的内存?#25104;潯换?#20986;时内存管理向文件系统发出请求同时挂起当前正在运行的进程。*第章Linux操作系统基础主要内容Linux操作系统概述Linux内核的结构Linux设备管理Linux的使用*第章Linux操作系统基础Linux设备管理Linux设备管理的主要任务?#24378;?#21046;设备完成输入输出操作所以又称输入输出(IO)子系统。设备管理把各种设备硬件物理特性的细节屏蔽起来提供一个对各种不同设备进行统一操作的接口。在linux操作系统中有三种类型的设备:字符设备块设备网络设备*第章Linux操作系统基础设备文件Linux将所有外部设备看成是一类特殊文件称之为“设备文件”。对设备文件的识别使用设备类型、主设备号和次设备号:设备类?#20572;?#23383;符设备或者块设备。主设备号:按照设备使用的驱动程序不同而赋予设备不同的主设备号。主设备号与驱动程序一一对应。次设备号:用来区分使用同一个驱动程序的不同设备。*第章Linux操作系统基础设备驱动设备驱动程序是Linux内核与设备之间的接口。设备驱动程序对应用程序屏蔽了硬件在实现?#31995;?#32454;节使得应用程序可以像操作普通文件一样来操作设备。Linux为所有的设备文件提供了统一的操作函数接口来管理这些设备方法是使用数据结构structfileoperations。这个数据结构中包括许多操作函数的指针如open()、close()、read()、write()和ioctl()?#21462;?第章Linux操作系统基础控?#21697;?#24335;轮询方式中?#25103;?#24335;轮询方式又称查询等待方式。对于不支持中?#25103;?#24335;的机器只能采用这种方式来控制IO过程所以Linux中?#25165;?#22791;了轮询方式。轮询方式意味着需要经常读取设备的状态一直到设备状态表明请求已经完成为止。在硬件支持中?#31995;?#24773;况下驱动程序可以使用中?#25103;?#24335;控制IO过程。当某个设备需要服务时就向CPU发出一个中?#38386;?#21495;CPU接收到信号后根据中断请求号启动中?#25103;?#21153;例程。Linux内核需要将来自硬件设备的中断传递到相应的设备驱动这个过程由设备驱动向内核注册其使用的中断来协助完成。*第章Linux操作系统基础主要内容Linux操作系统概述Linux内核的结构Linux设备管理Linux的使用*第章Linux操作系统基础Linux常用命令在线帮助命令:man文件管理命令>文件拷贝:cp>文件移动:mv>文件?#22659;簉m目录管理命令>创建目录:mkdir>?#22659;?#31354;目录:rmdir>改变工作目录:cd>显示当前完整路径:pwd>列出当前目录内容:ls文本处理命令>按行排序:sort>?#22659;?#37325;复行:uniq备份与压缩命令>创建备份:tar>压缩和解压缩:gzip>解压缩:unzip改变文件或目录的访问权限命令>改变访问权限:chmod>改变所属的组:chgrp>更改拥有者?#36864;?#23646;组:chown与用户有关的命令>设置和修改用户口令:passwd>用户之间切换:su系统管理命令>向所有登录用户发送信息:wall>向某一个用户发送信:write*第章Linux操作系统基础系统管理命令>设定是否?#24066;?#20854;他用户用write命令给自己发送信息:mesg>强制把内存中的数据写回?#25165;?sync>关闭或重启Linux系统:shutdown>查看当前系统内存的使用情况:freeLinux?#25490;?#31649;理命令>检查文件系统的?#25490;?#31354;间占用情况:df>统计目录(或文件)所?#21363;排?#31354;间的大小:du>?#21307;?#35774;备:mount>卸载已经?#21307;?#30340;设备:umountLinux其它命令>显示一段文字:echo>显示某年某月的日历:cal>清除屏幕?#31995;?#20449;息:clearLinux常用命令*第章Linux操作系统基础vi编辑器的使用vi编辑器是一个命令行编辑器有三种基本的工作模式:()命令模式vi的默认模式在命令模式下可以键入命令来?#22659;?#26356;改、移动文本、定?#36824;?#26631;、搜索文本字符串或退出vi编辑器。()编辑模式在编辑模式下可以向文件中输入文本。()最后?#24515;?#24335;当处于命令模式时通过键入“:”将?#26500;?#26631;处于屏幕的最后一行这?#32479;?#20026;最后?#24515;?#24335;这时可以执行更先进的编辑命令。注意?#26680;?#26377;的命令都是由命令模式发起的所以最后?#24515;?#24335;也属于命令模式。*第章Linux操作系统基础vi编辑器中三种工作模式的切换通过键入i、o、a命令vi编辑器将离开默?#31995;?#21629;令模式进入编辑模式。在编辑模式下键入的所有文本都不会?#29615;?#35793;成命令这时所有键入的文本都会被保存到文件中。当完成了文本的输入后按Esc键vi将回到命令模式下。当处于命令模式下时通过键入“:”将?#26500;?#26631;处于屏幕的最后一行进入最后?#24515;?#24335;。*第章Linux操作系统基础make工具和gcc编译器gccgcc是可以在多?#21046;教?#19978;编译出可执行程序的超级编译器。举例:gcc–chellocgccohelloexehellocmake命令makefilemake命令用于根据文件之间的依赖关系(在makefile文件中定义)来自动维护目标文件与手工编译和链接相比make命令的优点在于它只更新修改过的文件。makefile定义了一系列的规则来指定哪些文件需要先编译哪些文件需要后编译哪些文件需要重新编译甚至于进行更复杂的功能操作。makefile带来的好处就是“自动化编译”一旦写好makefile只需要一个make命令整个工程即可实现完全自动编译从而极大地提高了软件开发的效率。*第章Linux操作系统基础举例:工程包含个C文件(mainc,mytoolc,mytoolc)和个头文件(mytoolh,mytoolh)需要写一个Makefile来告诉make命令如何编译和链接这几个文件。Makefile的编写格式main:mainomytoolomytoolo<tab>gccomainmainomytoolomytoolomaino:maincmytoolhmytoolh<tab>gcc–cmaincmytoolo:mytoolcmytoolh<tab>gcc–cmytoolcmytoolo:mytoolcmytoolh<tab>gcc–cmytoolcclean:rm–rf*omain*第章Linux操作系统基础automake和autoconfautomakeautomake是一个从文件makefileam自动生成makefilein的工具。autoconfautoconf一个产生可以自动配置源代码包,生成shell脚本的工具,以?#35270;?#21508;种类UNIX系统的需要。通过automake和autoconf生成makefile文件的过程

      用户评价(0)

      关闭

      新课改视野下建构高中语文教学实验成果报告(32KB)

      抱歉,积分不足下载失败,请稍后再试!

      提示

      试读已结束,如需要继续阅读或者下载,敬请购买!

      评分:

      /25

      ¥20.0

      立即购买

      VIP

      在线
      客服

      免费
      邮箱

      爱问共享资料服务号

      扫描关注领取更多福利

      北京快三一定牛中奖号

        <code id="aciqg"></code>

        <nav id="aciqg"></nav>
          <mark id="aciqg"></mark><mark id="aciqg"><ruby id="aciqg"></ruby></mark>

            <code id="aciqg"></code>

            <nav id="aciqg"></nav>
              <mark id="aciqg"></mark><mark id="aciqg"><ruby id="aciqg"></ruby></mark>
              持枪王者在线客服 正中红心登陆 大魔术师 十一选五走势图表 佛山开心假期旅行社 十一选五走势图分析技巧 日本武士刀价格 云南快乐10分开奖结果 aj1贪玩蓝月好看吗 大乐透开奖