收藏 分销(赏)

Linux应用程序开发复习.docx

上传人:二*** 文档编号:4575361 上传时间:2024-09-30 格式:DOCX 页数:10 大小:19.38KB 下载积分:5 金币
下载 相关 举报
Linux应用程序开发复习.docx_第1页
第1页 / 共10页
本文档共10页,全文阅读请下载到手机保存,查看更方便
资源描述
1.Linux快速入门Linux文件系统和Windows文件系统的区别: Windows文件系统是以驱动器为基础的,且每一个目录与相 应的分区对应;而Linux恰好相反,文件系统是一棵文件树、 且它的所有文件和外部设备都以文件的形式挂在这个文件 树上。 主分区,扩展分区和逻辑分区: 主分区的数量可以是1・3个;扩展分区也就是除主分区外的 分区,它不能直接使用,必须再将它划分为假设干个逻辑分区 才可使用。 Linux文件类型及属性: Linux的主要文件类型分为4种:普通文件,目录文件,链接 文件,设备文件。 Linux中的文件属性: * rwx rwx rwx第一个字符*显示文件类型: 普通文件;“d”目录文件;“I”链接文件;“c”字符设 备;“b”块设备;“p”命名管道;“f”堆栈文件;“s”套接 字。 第一个rwx表示文件拥有者(u, user)对该文件的权限,无那么用2.非阻塞模型:在这种模型下,当请求的I/O操作不能未完 成时,那么不让进程睡眠,而且立即返回。 3.1/0多路转接模型:这种模型下,如果请求的I/O操作阻 塞,且它不是真正阻塞I/O,而是让其中一个函数等待,在 这期间,I/O还能进行其操作。 4.信号驱动I/O模型:这种模型下,通过安装信号处理程序, 系统可以自动捕获特定信号的到来,从而启动I/O。 5,异步I/O模型:这种模型下,当一个描述符已准备好,可 以启动I/O时,进程会通知内核。 I/O提供的3种类型的缓冲存储: 1 .全缓冲:这种情况下,当填满标准I/O缓存后,才进行实 际I/O操作。 2 .行缓冲:这种情况下,输入和输出遇到行结束符时,标准 I/O库执行I/O操作。 3 .不带缓冲:标准I/O库不对字符进行缓冲。 7.进程控制开发Linux下的进程结构:数据段,代码段,堆栈段。 Linux下进程的执行模式:用户模式,内核模式。 守护进程:守护进程不因用户,终端或者其他的变化而受到影响,它从被执行开始运转,直到整个系统关闭时才会退出。 守护进程创立过程: L创立子进程,父进程退出Fork()创立子进程,exit()使父进程退出。 2 .在子进程中创立新会话Sctsid()创立新的会话 3 .改变当前目录为根目录Chdir()设置工作目录 4 .重设文件权限掩码Umask (0)重设文件权限掩码 5 .关闭文件描述符Close ()关闭文件描述符 8 .进程间通信Linux进程间通信方式: 1 .管道及有名管道.信号 2 .消息队列.共享内存 3 .信号量.套接字 9.多线程编程线程间的同步与互斥: 1 .互斥锁线程控制互斥锁是用一种简单的加锁方法来控制对共享资源的原子 操作。 互斥锁又分为:快速互斥锁,递归互斥锁,检错互斥锁; 快速互斥锁:是指调用线程会阻塞直至拥有互斥锁的线程解 锁为止;递归互斥锁:能够成功返回,并且增加调用线程在 互斥上加锁的次数;检错互斥锁:为快速互斥锁的非阻塞版 本,它会立即返回并返回一个错误信息。 2 .信号量信号量也就是操作系统中所用到的PV原子操作。 11.嵌入式Linux设备驱动开发Linux的设备分类:字符设备,块设备,网络设备。 表示。 第二个rwx表示文件用户组(g, group)对该文件的权限。 第三个rwx表示系统其他用户(o,others)对该文件的权限。 //r 代表 read,w 代表 write》代表 execute. Linux文件目录结构: /bin这里存放Linux常用操作命令的执行文件。 /boot这个目录下存放操作系统启动时所要用到的程序。 /dev该目录包含了所有Linux系统中使用的外部设备。 /etc该目录下存放了系统管理时要用到的各种配置文件和 子目录。 /etc/rc.d该目录主要存放了 Linux启动和关闭时要用到的脚 本/etc/rc.d/init该目录主要存放所有Linux服务默认的启动脚 本 /home该目录是Linux系统中默认的用户工作根目录/lib该目录用来存放动态链接共享库 /root该目录是超级用户登录时的主目录/proc该目录用于放置系统核心与执行程序所需的一些信息。 /sbin该目录用来存放系统管理员的常用的系统管理程序/tmp该目录用来存放不同程序执行时产生的临时文件 /usr用户的很多应用程序和文件都存放在此目录/usr/bin系统用户使用的应用程序 /usr/sbin超级用户使用的比拟高级的管理程序和系统守护程序 /usr/src内核源代码默认的放置目录/srv该目录存放一些服务启动之后需要提取的数据 /var服务的日志信息都存放在这里Linux基础命令 Shell是命令语言,命令解释程序及程序设计语言的统称。 1 .用户系统相关命令切换为超级用户su -root 超级用户#,普通川户$增加一个新的用户useradd tls 设置用户账号密码passwd tls删除一个用户userdel tls 锁定用户账户 usermod -1 tls.系统管理命令 显示当前系统中由该用户运行的进程列表Ps 查看所有进程及其PID,系统时间,命令详细目录,执行 者等。ps -ef输出特定的信号给指定PID的进程kill -9 7412 2 .磁盘相关命令 查看硬盘分区情况fdisk -1.文件系统挂载命令 将后面的设备以指定类型的文件格式装载到挂载点上 Mount -t vfat /dev/hdal /mnt/win/cLinux可以识别的文件系统: VFAT(FAT32); NTFS; HPFS; ext2,ext3, nfs;iso9660.文件相关命令 改变当前工作目录cd /home/david/ 显示当前工作目录 pwd Cd - 前次目录Cd ./当前目录 Cd ../上级目录列出目录的文件的信息1s -1 列出目录中所有文件Is -a 在当前目录创立一个文件夹mkdir -p . /hello/my 创立一个文件夹并设置权限mkdir -m 777 . /why 将/my/why下所有文件复制到当前上当下,保存属性 Cp -a . /my/why/ . / 交互性移动mv -i ./my/why/ . / 删除全部目录和子目录rm -r . /why改变拥有者 chown root 1. tar 改变组 chgrp root 1. tar改变权限 chmod a+rx, u+w 1. tgz 改变权限 chmod 765 1. tgz为某个文件在另一个位置建立一个符号链接 In -s .. /I. gz . /hello软链接与硬链接的异同: In -s ** **是软链接,只会在用户待定的位置上生成一个 文件的镜像,不会重复战胜磁盘空间。 In ** **是硬链接,在用户选定的位置上生成一个和源文件 大小相同的文件。 无论是软链接还是硬链接,文件都保持同步变化。 3 .压缩打包相关命令 对文件进行压缩和解压缩gzip -d对文件目录进行打包或解包tar -c 2. Linux下的C编程基础。 Linux中最常用的编辑器有vi和emacsLinux中最常用的编译器是gcc编译器 linux中常用的调度器gdblinux中最常用的工程管理器make vi的模式: L命令行模式:用户在vi编辑文件时,最初进入的为一般 模式。可以进行“复制”“粘贴”等操作。 2.插入模式:在该模式下,用户才能进行文字编辑输入。 3,底行模式:在该模式下,光标位于屏幕的底行,用户可以 进行文件保存或退出操作。 gcc编译器 .C C原始程序.i已经预处理的C原始程序 .s汇编语言原始程序.0目标文件 gcc编译器的4个步骤: 1 .预处理:对头文件和宏定义进行处理Gcc -e hello, c -o hello, i 2 .编译:检查代码的规范性,并将其翻译成汇编语言Gcc -s hello, i -o hello, s 3,汇编:把编译阶段生成的.s文件转成目标文件Gcc -c hello, s -o hello, o 4.链接:链接函数库Gcc hello.o -o hello 链接库的分类: 静态库:编译链接时,将库文件的代码全加入可执行文件中, 生成文件大,但文件运行不要函数库。 动态库:在程序执行时加载库,以节省系统的开销。 Makefile: makefile基本结构: L需要由make工具创立的目标体,通常是目标文件或可执 行文件.要创立的目标体所依赖的文件 2 .创立每个目标体时需要运行的命令。 例: Hello, o :hello, c hello, hGcc -c hello, c -o hello, o 功能,hello, c和hello. h在make调用Hello, o目标体后汇 编成 hello, omakefile 变量: Make允许在makefile中创立和使用变量,变量用来代替 一个文本字符串。 makefile变量定义有两种方式:递归展开方式,简单方式。 递归展开方式定义的变量是在引用该变量时进行替换的;简 单扩展型变量的值在定义处展开。 递归展开方式的定义格式:VAR=var简单扩展方式的定义格式:VAR: =var make中的变量使用均使用的格式为:$(VAR)。 自动变量:自动变量通常可代表编译语句中出现目标文件和 依赖文件等,并且具有本地含义。 $八所有不重复的依赖文件$@目标文件的完整名称 $<第一个依赖文件的名称$?所有时间戳比目标文件晚的依赖文件,并且以空格分开 makefile 规那么: 1 ,隐含规那么:隐含规那么告诉make怎么使用传统的规那么完全 任务,用户使用它们时就不必详细指定编译的具体细节,只 需所目标文件列出即可。 2 .模式规那么:模式规那么是用来定义相同处理规那么的多个文件 的.模式规那么能引入用户自定义变量,为多个文件建立相同 的规那么,从而简化makefile的编写。 6.文件I/O编程系统调用:系统调用是指操作系统提供给用户程序调用的 组特殊接口,用户程序可以通过这组特殊接口来获得操作系 统内核提供的服务。 用户编程接口:系统调用并不是直接与程序员进行交互的, 实际使用中程序员调用的通常是用户编程接口。 区别:并不是所有的函数都一一对应一个系统调用,有时, 一个API函数会需要几个系统调用来共同完成函数的功能。 系统命令:其相对API更高一层,实际上是一个可执行程序, 它的内部引用了用户编程接口 API来实现相应的功能。 底层文件I/O操作: 文件锁: 文件锁包括建议性锁和强制性锁。建议性锁要求每个上锁文 件的进程都要检查是否有锁存在,并且尊重已有的锁;强制 锁是由内核执行的锁,当一个文件被上锁进行写入操作的时 候,内核将阻止其他任何文件对其进行读写操作。 Fcntl()不仅可施加建议锁,还可以施加强制性锁。 Lockf()用于对文件施加建议性锁。 I/O处理模型: 1 .阻塞I/O模型:此模型下,假设所调用的I/O函数没有完成 相关的功能,那么会使进程挂起,直到相关数据到达才会返回。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服