
Linux程序设计
文章平均质量分 93
1.全面介绍Linux程序设计的基础知识,帮助读者完完成linux系统下内存.CPU.磁盘.网络及音频设备的访问和管理.
2.每节都是一个相对独立的问题介绍,并有对应的应用解析.
looushu
還未可知
展开
-
Linux程序设计学习笔记----网络通信编程API及其示例应用
图为面向连接的Socket通信的双方执行函数流程。使用TCP协议的通信双方实现数据通信的基本流程如下建立连接的步骤:1、首先服务器端需要以下工作:(1)调用socket()函数,建立Socket对象,指定通信协议。(2)调用bind()函数,将创建的Socket对象与当前主机的某一个IP地址和TCP端口绑定。(3)调用listen()函数。使原创 2014-08-20 22:02:09 · 2823 阅读 · 0 评论 -
Linux程序设计学习笔记----网络编程之网络数据包拆封包与字节顺序大小端
网络数据包的封包与拆包过程如下:将数据从一台计算机通过一定的路径发送到另一台计算机。应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装(Encapsulation),如下图所示:不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据包(packet),在链路层叫做帧(frame)。数据封装成帧后发到传输介质原创 2014-08-17 11:18:48 · 6277 阅读 · 0 评论 -
Linux程序设计学习笔记----Socket网络编程基础之TCP/IP协议簇
转载请注明出处: ,谢谢!内容提要本节主要学习网络通信基础,主要涉及的内容是:TCP/IP协议簇基础:两个模型IPv4协议基础:IP地址分类与表示,子网掩码等IP地址转换:点分十进制\二进制TCP/IP协议簇基础OSI模型我们知道计算机网络之中,有各种各样的设备,那么如何实现这些设备的通信呢?显然是通过标准的通讯协议,但是,整个网络连接的过程相当复杂,包原创 2014-08-16 17:26:00 · 2327 阅读 · 0 评论 -
Linux程序设计学习笔记----异步信号与线程属性控制
转载请注明出处:基本概念线程bing原创 2014-08-15 14:47:59 · 1908 阅读 · 1 评论 -
Linux程序设计学习笔记----多线程编程之线程同步条件变量
基本概念与原理原创 2014-08-15 13:40:21 · 2491 阅读 · 0 评论 -
Linux程序设计学习笔记----多线程编程线程同步机制之互斥量(锁)与读写锁
互斥锁通信机制基本原理互斥锁以排他方式防止共享数据被并发访问,互斥锁是一个二元变量,状态为开(0)和关(1),将某个共享资源与某个互斥锁逻辑上绑定之后,对该资源的访问操作如下:(1)在访问该资源之前需要首先申请互斥锁,如果锁处于开状态,则申请得到锁并立即上锁(关),防止其他进程访问资源,如果锁处于关,则默认阻塞等待.(2)只有锁定该互斥锁的进程才能释放该互斥锁.互斥量类型声原创 2014-08-15 09:39:48 · 2439 阅读 · 0 评论 -
Linux程序设计学习笔记----多线程编程基础概念与基本操作
转载请注明出处,谢谢.原创 2014-08-14 14:22:49 · 2997 阅读 · 0 评论 -
Linux程序设计学习笔记----System V进程通信之消息队列
一个或多个进程可向消息队列写入消息,而一个或多个进程可从消息队列中读取消息,这种进程间通讯机制通常使用在客户/服务器模型中,客户向服务器发送请求消息,服务器读取消息并执行相应请求。在许多微内核结构的操作系统中,内核和各组件之间的基本通讯方式就是消息队列。例如,在 MINIX 操作系统中,内核、I/O 任务、服务器进程和用户进程之间就是通过消息队列实现通讯的。Linux中的消息可以被描述成在内核原创 2014-08-12 16:33:40 · 1730 阅读 · 0 评论 -
Linux程序设计学习笔记----System V进程通信(共享内存)
共享内存可以被描述成内存一个区域(段)的映射,这个区域可以被更多的进程所共享。这是IPC机制中最快的一种形式,因为它不需要中间环节,而是把信息直接从一个内存段映射到调用进程的地址空间。 一个段可以直接由一个进程创建,随后,可以有任意多的进程对其读和写。但是,一旦内存被共享之后,对共享内存的访问同步需要由其他 IPC 机制,例如信号量来实现。象所有的System V IPC 对象一样,Linux 对原创 2014-08-12 16:09:13 · 2339 阅读 · 0 评论 -
Linux程序设计学习笔记----System V进程间通信(信号量)
关于System VUnix System V,是Unix操作系统众多版本中的一支。它最初由AT&T开发,在1983年第一次发布,因此也被称为AT&T System V。一共发行了4个System V的主要版本:版本1、2、3和4。System V Release 4,或者称为SVR4,是最成功的版本,成为一些UNIX共同特性的源头,例如“SysV 初始化脚本”(/etc/init.d),用来原创 2014-08-11 19:36:27 · 3318 阅读 · 0 评论 -
Linux程序设计学习笔记——异步信号处理机制
Linux常见信号与处理原创 2014-08-09 11:51:32 · 4496 阅读 · 0 评论 -
Linux程序设计学习笔记----进程间通信——管道
转载请注明出处: http://blog.youkuaiyun.com/suool/article/details/38444149, 谢谢!进程通信概述在Linux系统中,进程是一个独立的资源管理单元,但是独立而不孤立,他们需要之间的通信,因此便需要一个进程间数据传递、异步、同步的机制,这个机制显然需要由OS来完成管理和维护。如下:1、同一主机进程间数据交互机制:无名管道(PIPE)原创 2014-08-08 21:35:05 · 3879 阅读 · 0 评论 -
Linux 程序设计学习笔记----进程管理与程序开发(下)
转载请注明出处:http://blog.youkuaiyun.com/suool/article/details/38419983,谢谢!进程管理及其控制创建进程fork()函数函数说明具体参见:http://pubs.opengroup.org/onlinepubs/009695399/functions/fork.html返回值:Upon successful completi原创 2014-08-07 20:59:33 · 1931 阅读 · 0 评论 -
Linux 程序设计学习笔记----进程管理与程序开发(上)
Linux进程存储结构和进程结构kezhix原创 2014-08-07 14:29:22 · 2026 阅读 · 0 评论 -
Linux 程序设计学习笔记----终端及串口编程及实例应用
转载请注明出处,部分内容类源于网络。终端属性详解及设置属性为了控制终端正常工作,终端的属性包括输入属性、输出属性、控制属性、本地属性、线路规程属性以及控制字符。其在系统源代码的termios.h中定义(具体的说明文档http://pubs.opengroup.org/onlinepubs/7908799/xsh/termios.h.html),其结构体成员主要是Th原创 2014-08-05 16:59:07 · 4076 阅读 · 1 评论 -
Linux 程序设计学习笔记----终端及串口编程基础之概念详解
转载请注明出处,谢谢!linux下的终端及串口的相关概念有:tty,控制台,虚拟终端,串口,console(控制台终端)详解部分内容整理于网络。终端/控制台终端和控制台都不是个人电脑的概念,而是多人共用的小型中型大型计算机上的概念.1.终端一台主机,连很多终端,终端为主机提供了人机接口,每个人都通过终端使用主机的资源. 终端有字符哑终端和图形终端两种.控制台原创 2014-08-04 17:58:14 · 2038 阅读 · 0 评论 -
Linux 程序设计学习笔记----文件管理实例应用
一、使用ls -l 以排序方式输出目录信息1.需求以及知识点覆盖ls -l 命令根据后面的参数将列出某文件即目录下的基本信息。如果没有具体的目录或者文件,则列出当前目录下所有的非隐藏文件的信息,包括文件类型,文件权限,硬链接个数,拥有者。拥有者所在组,文件大小,文件更新时间等。such as :若没有指定的文件,则输出所有目录下的文件信息:所以,本应用要实现的基本功原创 2014-08-01 19:06:37 · 1898 阅读 · 0 评论 -
Linux 程序设计学习笔记----Linux下文件类型和属性管理
1.Linux文件类型和权限原创 2014-07-31 16:32:58 · 2135 阅读 · 0 评论 -
Linux 程序设计学习笔记----文件管理系统
本文部分整理自网络Linux下文件系统管理1.VFS文件系统概述linux采用VFS来管理文件系统,而且linux设计的原则之一就是everything is file。因此文件管理系统是linux设计最核心的体现。VFS的全称是Virtual File System (虚拟文件系统)。总体上说 Linux 下的文件系统主要可分为三大块:一是上层的文件系统的系统调用,二是虚原创 2014-07-31 11:20:19 · 2882 阅读 · 3 评论 -
Linux 程序设计学习笔记----POSIX 文件及目录管理
问题引入原创 2014-07-26 15:21:50 · 4751 阅读 · 0 评论 -
Linux 程序设计学习笔记----ANSI C 文件I/O管理
问题引入文件的种类根据数据存储的方式不同,可以将文件分为文本文件和二进制文件.具体的区别和关系如下:文本文件与二进制文件在计算机文件系统中的物理存储都是二进制的,也就是在物理存储方面没有区别都是01码,这个没有异议,他们的区别主要在逻辑存储上,也就是编码上。文本文件格式存储时是将值作为字符然后存入其字符编码的二进制,文本文件用‘字符’作为单位来表示和存储数据,比如对于1这个值,原创 2014-07-25 23:42:23 · 3341 阅读 · 0 评论 -
Linux 程序设计学习笔记----命令行参数处理
在使用linux时,与windows最大的不同应该就是经常使用命令行laijie原创 2014-07-24 20:59:29 · 9121 阅读 · 0 评论 -
Linux 程序设计学习笔记----动手编写makefile文件
Befroe Beginning.之前定了暑假的plan ,关于Linux的书籍现在在看的是ALP和Linux高级程序设计(杨宗德)第三版.在计划中的是Linux高级环境编程.现在开始关于Linux程序设计的第一篇学习笔记.本来打算把名字写成教程,不过觉得自己完全是新手在自学,还是写学习笔记比较负责和适合.希望可以一起学习进步.引入首先我们假设这样一个场景.我们有一原创 2014-07-23 20:26:59 · 2029 阅读 · 0 评论 -
GDB 程序调试简单实践
用了好久的GCC/G++ 却一直都没用过GDB调试过程序,有时程序不是很大,一般有错,直接看编译器编译结果就差不多知道错在哪儿了,或者使用codeblocks单步调试,甚至回到windows下面调试,但是总是不太方便,因此有必要看一下GDB调试方法和基本步骤.下面是一个简单的演示:首先创建一个有错误的代码,如下:这个程序很简单,目的是接受用户的输入,并将用户的输入回应输出来.原创 2014-07-18 10:28:00 · 1902 阅读 · 0 评论