华南理工大学 Linux 复习大纲2014.docx

上传人:小飞机 文档编号:5076503 上传时间:2023-06-02 格式:DOCX 页数:17 大小:240.43KB
返回 下载 相关 举报
华南理工大学 Linux 复习大纲2014.docx_第1页
第1页 / 共17页
华南理工大学 Linux 复习大纲2014.docx_第2页
第2页 / 共17页
华南理工大学 Linux 复习大纲2014.docx_第3页
第3页 / 共17页
华南理工大学 Linux 复习大纲2014.docx_第4页
第4页 / 共17页
华南理工大学 Linux 复习大纲2014.docx_第5页
第5页 / 共17页
亲,该文档总共17页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《华南理工大学 Linux 复习大纲2014.docx》由会员分享,可在线阅读,更多相关《华南理工大学 Linux 复习大纲2014.docx(17页珍藏版)》请在三一办公上搜索。

1、Linux与嵌入式通信系统2014复习大纲1. 简述嵌入式系统的概念、组成、特点及发展趋势。IEEE定义:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”一般定义:“以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、 体积、功耗严格要求的专用计算机系统。”微机协会定义:嵌入式系统是以嵌入式应用为目的的计算机系统。可分为系统级、板级、片 级。组成:硬件:存储器、处理器、外围电路软件:操作系统各应用程序应用程序软件结构存储器硬件结构特点:(1) 系统内核小(2) 专用性强,(3) 系统精简,(4) 高实时性OS,(5) 嵌入式软件开发走向标准化,(6) 嵌入式系统需要

2、开发工具和环境,发展趋势:(1) 软件设计比重日益突出,(2) 组件设计技术,(3) SOC,(4) 硬件软件化,(5) 宏观方面的发展趋势:经济性,小型化,可靠性,高速度,智能性2. 简述嵌入式处理器的分类和各自特点。分类:特点:(1)嵌入式微控制器(MCU):其最大特点是单片化,体积大大减小,从而使功耗和成本下降、 可靠性提高。(2)嵌入式DSP处理器(DSP):专门用于信号处理,其在系统结构和指令算法方面进行了 特殊设计,在数字滤波、FFT、频谱分析等各种仪器上获得了大规模的应用。(3)嵌入式微处理器(MPU):由通用计算机中的CPU演变而来,在实际嵌入式应用中,只 保留和嵌入式应用紧密

3、相关的功能硬件,去除其他的冗余功能部分,这样就以最低的功耗和 资源实现嵌入式应用的特殊要求。具有体积小、重量轻、成本低、可靠性高的优点。(4)嵌入式片上系统(System On Chip):就是一种电路系统。结合了许多功能区块,将 多种功能做在一个芯片上。成功实现了软硬件无缝结合,直接在处理器片内嵌入操作系统的 代码模块。优点有:芯片功耗低,制作过程简单,微处理器数据处理速度快,内嵌的线路可 以避免外部电路板在信号传递时所造成系统杂讯。3. 举例说明常见的嵌入式操作系统及特点。(1)VxWorks:可靠性、实时性和可裁减性。支持多种处理器。(2)Windows CE 3.0: 一种针对小容量、

4、移动式、智能化、32位、连接设备的模块化 实时嵌入式操作系统。(3)Palm OS:主要用于 PDA。(4)Linux:开放源码,内核小、功能强大、运行稳定、系统健壮、效率高,易于定制 剪裁,在价格上极具竞争力。4. 简述嵌入式系统的开发流程。嵌入式系统开发流程嵌入式Linux系统的开发流程-建立交叉编庠环境 Bootloader 开发 Linux内核的裁剪构造根文件系统驱动移植/开发应用程序移植开发和调试嵌入式软件开发流程(ARM&Linux嵌入式系统教程(第2版)第2章)5. 南北桥片的功能是什么,选择芯片组的主要原则有哪些?北桥芯片:负责与CPU的联系并控制内存、AGP、PCI数据在北桥

5、内部传输,提供对CPU 的类型和主频、系统的前端总线频率、内存的类型(SDRAM,DDR SDRAM以及RDRAM 等等)和最大容量、ISA/PCI/AGP插槽、ECC纠错等支持;整合型芯片组的北桥芯片还集 成了显示核心;离CPU最近的芯片,这主要是考虑到北桥芯片与处理器之间的通信最密切, 为了提高通信性能而缩短传输距离。南桥芯片负责I/O总线之间的通信,口PCI总线、USB、LAN、ATA、SATA音频控制器、 键盘控制器、实时时钟控制器、高级电源管理等,这些技术一般相对来说比较稳定,所以不 同芯片组中可能南桥芯片是一样的,不同的只是北桥芯片。所以现在主板芯片组中北桥芯片 的数量要远远多于南

6、桥芯片;南桥芯片不与处理器直接相连,而是通过一定的方式(不同厂 商各种芯片组有所不同,例如英特尔的英特尔Hub Architecture以及SIS的Multi-Threaded妙渠”)与北桥芯片相连;离处理器较远一般都没有覆盖散热片;发展方向主要是集成更多的 功能,例如网卡、RAID、IEEE 1394、甚至WI-FI无线网络等等。选择芯片组的主要原则:芯片组性能的优劣,决定了主板性能的好坏与级别的高低。目前 CPU的型号与种类繁多、功能特点不一,如果芯片组不能与CPU良好地协同工作,将严重 地影响计算机的整体性能甚至不能正常工作。其中CPU的类型、主板的系统总线频率,内 存类型、容量和性能,

7、显卡插槽规格是由芯片组中的北桥芯片决定的;扩展槽的种类与数量、 扩展接口的类型和数量(如USB2.0/1.1,IEEE1394,串口,并口,笔记本的VGA输出接口) 等,是由芯片组的南桥决定的;还有些芯片组由于纳入了 3D加速显示(集成显示芯片)、 AC 97声音解码等功能,还决定着计算机系统的显示性能和音频播放性能等。6. 操作系统的作用、功能、结构及特性。操作系统的作用隐臧硬件特性,提供等价的虚拟机,便 于用户开发和使用操作系统的功能资源管理器,伍责计算机系统的全部资源的分配、控制,调度和回收。、一处理机管理内存管理(主存管理、存储器管理)设备管理文件管理网缗与通信管理用户接口操作系统常见

8、的结构包括:单体系统、层次式系统、微内核、客户-服务器系统 和虚拟机等。操作系统的主要特性并发性两个或两个以上的事件或活动在同一时间间隔内发生共享性系统资源可被多个并发执行的进程所使用异步性虚拟性将物理实体变成逻辑对应物7. 简述Linux的主要特点,它与其它操作系统的区别是什么?特点:(1)开放性 开放性是指系统遵循世界标准规范,特别是遵循开放系统互连(OSI)国际 标准。(2)多用户 多用户是指系统资源可以被不同用户各自拥有使用,即每个用户对自己的资 源(例如:文件、设备)有特定的权限,互不影响。(3)多任务它是指计算机同时执行多个程序,而且各个程序的运行互相独立。(4)良好的用户界面Li

9、nux向用户提供了两种界面:用户界面和系统调用。Linux还为用 户提供了图形用户界面。(5)设备独立性操作系统把所有外部设备统一当作成文件来看待(6)提供了丰富的网络功能:支持Internet,文件传输,远程访问(7)可靠的系统安全(8)良好的可移植性可移植性是指将操作系统从一个平台转移到另一个平台使它仍然能按 其自身的方式运行的能力。Linux能够在从微型计算机到大型计算机的任何环境中和任何平 台上运行(9)相对比较不耗系统资源Linux只要一部p-100以上等级的计算机就可以安装并且使用 愉快,还不需要到P-III等级的计算机。区别:(1)Linux与主要UNIX系统:Linux采用了

10、SVR4的进程间通信(IPC)机制:共享内 存、消息队列、信号灯;Linux支持BSD Socket网络编程接口;许多Linux发行版采用 SysV init机制,支持运行级别;LINUX具有Unix的全部功能,任何使用Unix操作系统 或想要学习Unix操作系统的人都可以从Linux中获益。(2)Linux与 MS-DOS:没有完全实现x86处理器的功能,而Linux完全在处理器保 护模式下运行,并且开发了处理器的所有特性;Linux可以直接访问计算机内的所有可用内 存,提供完整的Unix接口。而MS-DOS只支持部分Unix的接口; MS-DOS是单任务 的操作系统。(3) Linux与

11、OS/2、Windows、Windows NT: Linux是从一个比较成熟的操作系统 发展而来的,而其他操作系统,如Windows NT等,都是自成体系,无对应的相依托的操 作系统。(Linux是Unix的一个克隆);Linux是一种开放、免费的操作系统,而其他 操作系统都是封闭的系统,需要有偿使用。8. 简述Linux的体系结构及各部分的功能。LINUX体系结构:Lin u x操作系统由4个主要的子系统所组成: 用户应用程序:在某个特定的L i n u x系统上运行的应用程序集合,它将随着该计算机系 统的用途不同而有所变化,但一般会包括文字处理应用程序和Web浏览器。(2) O/S服务一这

12、些服务:般认为是操作系统的一部分(X Window系统,命令外壳程序 shell等等);此外,内核的编程接口(编译工具和库)也属于这个子系统。L i n u x内核:包括内核抽象和对硬件资源(如C P U)的间接访问。 硬件控制器:这个子系统包含在L i n u x实现中所有可能的物理设备,例如,C P U、内 存硬件、硬盘以及网络硬件等都是这个系统的成员。各部分的功能: 内核:在硬件方面,Kernel负责控制电脑的硬件装置、内存管理以及提供完整的硬件接口与应用程序沟通(系统启动和初始化,硬件的驱动程序);在软件方面,Kernel负责管理文件系统、对正在运行的程序作内存管理与调整,并进行进程管

13、理(内存管理,进程管理,中断处理,文件系统等)(2)Shell: Shell提供了一个内核与用户之间的界面,是一种作为用户和操作系统之间的接口的命令解释程序。(3)硬件平台:它是整个系统的实体工作者,是其他部分的基础。(4)应用程序和系统程序:运用文字或者图形界面供用户使用操作系统完成具体的应用。9. 简述Linux内核的构成,各部分的功能及相互关系。L i n u x内核由5个主要的子系统构成:(1)进程调度程序(SCHED):负责控制进程访问CPU。调度程序所使用的策略可以 保证进程能够公平地访问CPU,同时保证内核可以准时执行一些必需的硬件操作。(2)内存单管理程序(MM):使多个进程可

14、以安全地共享机器的主存系统。此外,内 核管理程序支持虚拟内存。虚拟内存使得Linux可以支持进程使用超过系统中的内 存数量的内存。暂时用不着的存储信息可以交换出内存,存放到使用文件系统的永 久性存储器上,然后在需要它们的时候再交换回来。(3)虚拟文件系统(VFS):通过提供一个所有设备的公共文件接口,VFS抽象了不 同硬件设备的细节。此外,VFS支持与其他操作系统兼容的不同的文件系统格式。(4)网络接口( NET):提供了对许多建网标准和网络硬件的访问。(5)进程间通信(IPC):为单个Linux系统上进程与进程之间的通信提供了一些机制。子系统间的依赖关系如下图:10. 进程的定义、PCB的作

15、用与信息,进程切换、进程控制。进程的定义:进程是操作系统结构的基础,是系统中程序执行和志愿分配的基本单位,是一 个具有一定独立功能的程序关于某个数据集合的一次运行活动。一个程序可以启动多个进 程。PCB的作用:PCB即进程控制块,是操作系统用于记录和刻画划进程状态及有关信息的数 据结构,也是操作系统掌握进程的唯一资料结构,它包括了进程执行时的情况,以及进程让 出处理器后所处的状态、短短等信息。它使一个在多道程序环境下不能独立运行的程序成 为一个能独立运行的基本单位,一个能与其他进程并发执行的进程。PCB包含的信息(1)标识信息(2)现场信息(3)控制信息进程控制:进程是有生命周期的,包括产生、

16、运行、暂停、终止,对进程的这些操作叫进程 控制。进程控制包括:进程创建、进程阻塞、进程唤醒、进程挂起、进程激活、进程终止和 进程撤销等。进程切换:让处于运行的进程中断运行,让出处理器,这时要做一次进程上下文切换、即保 存老进程状态而装入被保护了的新进程的状态,以便新进程运行。11. 进程切换过程、进程控制的作用和过程。进程上下文切换由以下4个步骤组成:(1)决定是否作上下文切换以及是否允许作上下文切换。包括对进程调度原因的检查分析, 以及当前执行进程的资格和CPU执行方式的检查等。在操作系统中,上下文切换程序并不 是每时每刻都在检查和分析是否可作上下文切换,它们设置有适当的时机。(2)保存当前

17、执行进程的上下文。这里所说的当前执行进程,实际上是指调用上下文切换程 序之前的执行进程。如果上下文切换不是被那个当前执行进程所调用,且不属于该进程,则 所保存的上下文应是先前执行进程的上下文,或称为“老”进程上下文。显然,上下文切换 程序不能破坏“老”进程的上下文结构。(3) 使用进程调度算法,选择一处于就绪状态的进程。(4) 恢复或装配所选进程的上下文,将CPU控制权交到所选进程手中。进程控制是进程管理中最基本的功能。它用于创建一个新进程,终止一个已完成的进程, 或者去终止一个因出现某事件而使其无法运行下去的进程,还可负责进程运行中的状态转 换。12. Linux的启动过程,boot loa

18、der的主要任务和典型框架结构是什么?启动过程:(1) 系统加电(2) Bootloader 或 BIOS 加电自检(3) 读硬盘主引导扇区(4) 分析分区表(5) 执行MBR中的引导程序,读入活动分区的引导扇区(LILO装在boot扇区), 读入操作系统内核(LILO装在MBR)(6) 进行初始化(7) 执行 init主要任务:bootloader软件是属于引导加载程序的一部分,主要完成整个系统加载启动 任务。典型框架结构为:Stage1 : (1)硬件设备初始化(如I/O 口,存储器和时钟).(2) 为加载Bootloader的stage2准备好RAM空间.(3) 复制Bootloader

19、的到RAM空间中.(4) 设置好堆栈.(5) 跳转到stage2的C入口点.Stage2: (1)初始化本阶段要使用的硬件设备.(2 )检测系统的内存映射.将kernel映像和根文件系统映像从Flash上读到RAM空间中.(4 )从内核设置启动参数.(5)调用内核.13. 简述Toolchain的基本功能和配置步骤。toolchainGNU 开发工具链是指 GNU Compiler Collection. GNU libc 以及用来编译、 测试和分析软件的GNU binutils。是Linux默认开发工具链。基本功能:编译,链接。配置步骤:先进行命令配置,再进行关联检测。GNU Compile

20、r Collection:即 GCC 是用于 C、C+、Objective-C、Fortran 等编程语 言的一个编译器集。需要配置输入、输出、平台选择、调试、优化等选项。GNU binutils :包括一套用来构造和使用二进制文件所需要的工具。其中两个最为关键 的binutils是GNU链接器ld和GNU汇编程序as。更多的Binutils:除了链接器和汇编程序之外,有些开发人员还会发现其他binutils 其实就是GNU Tools中最基本的工具:ld(链接器),as(汇编器),gcc(C语言编 译器),glibc(包含各种基本函数实现的软件库)。14. 简述Linux文件系统的功能、结构

21、和类型。Linux文件系统的功能就是提供高效、快速和方便的信息存储和访问功能(详细)文件系统的功能(目的):(1)满足用户管理数据的需要,这其中包括数据存储和对数据的操作。(2)尽可能保证文件中数据的有效性。(3)性能优化,以提高系统的吞吐量和响应速度。(4)提供不同类型的存储设备的I/O支持。(5)消除或降低数据丢失或遭破坏的可能性。(6)提供一个标准的I/O界面。(7)在多用户系统中,向多个用户提供I/O支持等等。结构:见下图。应用程序多种文件类型(划分记录,顺序或索引等)* 、基本/O管理I/O缓存和调度,性能优化)文件系统物理/。(基本文件系统)外部存储器Linux文件分类:(1)普通

22、文件(2)目录文件(3)设备文件Linux文件系统分类:(1)ext2:标准Linux文件系统;(2)ext3:带日志的标准Linux文件系统;(3)NFS : Sun的文件系统;(4)jfs: IBM的日志文件系统;(5)reiserfs :另一个流行的日志文件系统15. 什么是配置文件,举例说明2-3种重要配置文件的功能和结构特点。每个Linux程序都是一个可执行文件,它含有操作码列表,CPU将执行这些操作码来完 成特定的操作。例如,ls命令是由/bin/ls文件提供的,该文件含有机器指令的列表,在屏 幕上显示当前目录中文件的列表时需要使用这些机器指令。几乎每个程序的行为都可以通过 修改其

23、配置文件来按照您的偏好或需要去定制。内核本身也可以看成是一个“程序”。内核需 要了解系统中用户和组的列表,进而管理文件权限,内核也需要系统配置文件。配置文件都 在/etc的目录中,可以分为几类:访问文件、引导和登录/注销、文件系统、系统管理、 网络配置文件、系统命令、守护进程。举例:(1)/etc/host.conf告诉网络域名服务器如何查找主机名。(通常是/etc/hosts,然 后就是名称服务器;可通过netconf对其进行更改)(2)/etc/hosts包含(本地网络中)已知主机的一个列表。如果系统的IP不是动态生 成,就可以使用它。对于简单的主机名解析(点分表示法),在请求DNS或NI

24、S网 络名称服务器之前,/etc/hosts.conf通常会告诉解析程序先查看这里。(3)/etc/issue & /etc/这些文件由mingetty (和类似的程序)读取,用来 向从终端(issue)或通过telnet会话()连接的用户显示一个 “welcome”字符串。它们包括几行声明Red Hat版本号、名称和内核ID的信息。它们由rc.local使用。16.简述Linux内核编译、裁减以及Linux移植的基本步骤。Linux内核的裁减与编译首先在宿主机端进入到内核所在的目录/usr/src/linux-2.4下,修改Makefile文件中 EXTRAVERSION变量的值,用来标识新

25、内核,本例改为hebut。然后完成内核的裁减与 编译: make mrproper:用于清除所有的临时文件、中间件、配置文件。make xconfig:进行核心配置,在其中每个选项都有两种选择,分别表示支持和不支 持相应的特性或驱动程序,个别选项有m选择,表示把相应的特性或驱动程序编译 成可加载模块的方式。根据不同的应用对内核进行裁减。系统将新的配置保存成.config 文件。 make dep:用于生成依赖性。 make bzImage:产生压缩的核心映像。内核压缩映像被系统保留在 /usr/src/linux-2.4/arch/i386/boot目录中,将其复制到/boot目录下,并重命名

26、为 vmlinuz-2.4.20hebut。末尾为 EXTRAVERSION 变量的值。 make modules:组织各个/usr/src/linux-2.4.20子目录已经配置的模块。、 make modules_install: 在 /lib/modules/2.4.20 目 录 中组织 模块。经过以上的裁减与编译,可以使一个包含网络服务的内核减小到1M以内。移植:将嵌入式Linux操作系统安装到CF卡上要在宿主机上将已定制好的内核装入CF卡中并在其上构建操作系统首先需要把CF挂 载成宿主机的一个设备。挂载成不同的设备需要不同的连接器。现以把CF卡挂载成USB 设备为例,对在其上构建嵌入

27、式Linux操作系统的过程进行介绍。首先将CF卡进行分区。使用fdisk命令,在CF卡上建立分区。# fdisk /dev/sdal, 然后创建ext2文件系统,# mke2fs -c /dev/sdal,该命令在/dev/sdal上创建ext2文件 系统。将CF挂载到宿主机上,# mount /dev/sdal /mnt/sda 1,将CF卡挂载到宿主 机上后,挂载的目录是/mnt/sdaL用下面命令创建文件系统:# mkdir /bin类似地创建/boot、/etc、/lib、/mnt、/root、/sbin、/tmp、/usr、/var。用下面的命令创建/dev:# cp -a /dev

28、 /mnt/sda1这样可以把设备文件创建在CF卡中的/dev目录下。将生成的压缩内核文件vmlinuz-2.4.20hebut文件放A/mnt/sda1/boot目录下保存。进 行以上操作后,需要给CF安装Boot Loader程序使其运行时可以加载内核。17. 为什么要进行内核配置,简述其基本过程和方法内核是所有Linux系统的中心软件组件,整个系统的能力完全受内核本身能力的限制。为什么要进行内核配置:(1)我们可以了解系统是如何工作的。通过通读源代码,我们就可以了解系统的工作 原理,这在Windows下简直是天方夜谭。(2)我们可以针对自己的情况,量体裁衣,定制适合自己的系统,这样就需要

29、重新编 译内核。(3)我们可以对内核进行修改,以符合自己的需要。基本过程和方法:内核配置有两种方法,一种是直接置入内核;另一种是编成模块;两 种方法各有优点;直接编入内核的,比如设备的启动,不再需要加载模块的这一过程了;而 编译成模块,则需要加载设备的内核支持的模块;但直接把所有的东西都编入内核也不是可 行的,内核体积会变大,系统负载也会过重。我们编内核时最好把极为重要的编入内核;其 它的如果不明白的,最好用默认。#make xconfig (基于图形窗口模式的配置界面,Xwindow下推荐使用)make xconfig, 使用鼠标就可以选择对应的选项。实际上在配置时,大部分选项可以使用其缺省

30、值,只有小部分需要根据用户不同的需要 选择。选择的原则是将与内核其它部分关系较远且不经常使用的部分功能代码编译成为可加 载模块,有利于减小内核的长度,减小内核消耗的内存,简化该功能相应的环境改变时对内 核的影响;不需要的功能就不要选;与内核关心紧密而且经常使用的部分功能代码直接编译 到内核中。配置完成后,进行编译和更新。18. 什么是交叉编译?编译程序的基本构成是什么?(1)由于目标机指令系统与宿主机的指令系统不同,编译时将应用程序的源程序在宿 主机上生成目标机代码,称为交叉编译。(2)什么是编译程序?从功能上看,一个编译程序就是一个语言翻译程序,它把一种语言(称作源语言)书写的 程序翻译成另

31、一种语言(称作目标语言)的等价的程序.编译程序结构(components):(1)词法分析程序:从左至右读字符流的源程序(2)语法分析程序:层次分析.依据源程序的语法规则把源程序的单词序列组成语法短语(表示成语法树).、(3)语义分析程序:语义审查(静态语义)上下文相关性、类型匹配、类型转换(4)中间代码生成程序:源程序的内部(中间)表示三元式、四元式、P-Code、C-Code、UCode、 bytecode(5)代码优化程序:(6)目标代码生成程序(7)符号表管理程序:记录源程序中使用的名字、收集每个名字的各种属性信息(类型、 作用域、分配存储信息)(8)出错处理程序:检查错误、报告出错信

32、息、排错、恢复编译工作19.举例说明makefile功能、构成和工作原理?功能:描述了软件包中文件之间的关系,提供更新每个文件的命令。makefil。文件的基本结 构。Makefile是一个文本形式的数据库文件,其中包含一些规则来告诉make处理哪些文件以 及如何处理这些文件。构成:Makefile里主要包含了 5个方面的内容:显式规则、隐式规则、变量定义、文件指 示和注释。(1)显式规则。显式规则说明了如何生成一个或多个目标。这需要由Makefile的书写者显 式指出要生成的文件、文件的依赖文件及生成的命令。(2)隐式规则。由于make有自动推导的功能,会选择一套默认的方法进行make,所以

33、隐 式的规则可以让开发者比较、简略地书写Makefile,这是由make所支持的。(3)变量定义。在Makefile中需要定义一系列的变量,一般都是字符串,它类似C语言中 的宏,当Makefile被执行时,其中的变量都会被扩展到相应的引用位置上。(4)文件指示。包括三个部分,第一部分是在一个Makefile中引用另一个Makefile,就 像C语言中的include 一样包含进来;第二部分是指根据某些情况指定Makefile中的有效 部分,就像C语言中的预编译宏#ifdef 一样;第三部分就是定义一个多行的命令。(5)注释。Makefile中只有行注释,和UNIX的Shell脚本一样,其注释符

34、使用井号“#” 字符,这个就像C/C+中的双斜杠“/” 一样。如果需要在Makefile中使用井号“ #”字符, 可以用反斜杠进行转义,如“#”。工作原理:Makefile的工作原理是调用系统中的make命令解释当前的Makefile,完成其中 指定的功能。20. 什么是设备驱动程序,其功能和结构如何?linux设备驱动程序是处理或操作硬件控制器的软件,被集成在内核中,是常驻内存的低级硬件处理程序的共享库,设备驱动程序就是对设备的抽象处理。功能:(1)对设备进行初始化(2)使设备投入和退出服务(3)检测和处理设备出现的错误(4)设备和系统之间交换数据的界面(5)“黑盒子”,内含设备的固有特性

35、功能结构:驱动程序的结构.I11Ii IDevice intErTace-ardw=iFEHsrdwarE21. 比较字符设备、块设备和网络设备的区别。字符设备:(1)能够象字节流(比如键盘显示器)一样被访问的设备,由字符设备驱动程序来实现这 种特性,字符设备驱动程序通常至少需要实现open close read和write系统调用。(2)字符设备以字节为单位进行数据处理,通常只允许按顺序访问块设备:(1)与字符设备的区别仅仅在于内核内部管理数据的方式,也就是内核和驱动程序的接口 不同。(2)块设备驱动程序除了给内核提供和字符驱动程序一样的接口以外,还提供了专门面向 块设备的接口。(3)块设备

36、将数据按可寻址的块为单位进行处理可以随机访问,利用缓冲技术可以一次传 递任意字节的数据(4)块设备通过/de 目录下的文件系统接点被访问的。块设备(例如磁盘)上能够容纳文 件系统。网络设备:(1)和其它主机交换数据的设备(2)内核和驱动程序之间的通信完全不同于内核和字符设备以及块设备驱动程序之间的通 信,内核调用一套和数据包传输相关的函数,而不是read, write.(3)Linux分配给网络接口一个唯一的名字(比如eth0),网络设备是一类特殊的设备,每 块网卡有名字但没有设备文件与之对应查看系统中的设备:/proc/devices(4)由内核中的网络子系统驱动,负责发送和接收数据包,它无

37、须了解每项事务是如何映 射到实际传送的数据包的,例如尽管Telent和FTP连接都是面向流的,它们都使用了同一个 设备,但这个设备看到只是数据包,而不是独立的流。22. 什么是套接字,有什么特性,分为哪些类型?套接字(socket),是网络通信中应用进程和网络协议之间的接口,为TCP/IP协议开 发的应用程序接口。Socket可以看成在两个程序进行通讯连接中的一个端点,一个程序将 一段信息写入Socket中,该Socket将这段信息发送给另外一个Socket中,使这段信息能 传送到其他程序中。两种不同的类型:(1)流套接字(2)数据报套接字。23. 画出socket编程中TCP、UDP通信中s

38、erver与client端的通信流程并比较 两者的区别。TCP Server的通信流程:1取得socket描述符;2填写自身地址信息的sckadd_in结构;3绑定端口;4监听端口;5接收连接请求;6产生新进程处理读写socket;7转程序流程5,继续等待其它Client的连接并处理。TCP Client的通信流程:1取得socket描述符;2填写连接对方的地址信息的sckadd_in结构;3连接端口;4 读写 socket;5 关闭 socket oUDP Server的通信流程:1取得socket描述符;2绑定端口;3接收连接请求;4产生新进程处理读写socketoUDP Client的通信流程:1取得socket描述符;2 读写 socket;3 关闭 socket o区别:1. 基于连接与无连接2. 流模式与数据报模式a. TCP保证数据正确性,UDP可能丢包b. TCP保证数据顺序,UDP不保证3. 对系统资源的要求(TCP较多,UDP少)24. Linux常用命令ARM&Linux嵌入式系统教程(第2版)P210-218

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号