随笔分类 -  linux应用程序学习

摘要:文件系统(系统目录) 进入 Linux 根目录(即“/”, Linux 文件系统的入口, 也是处于最高一级的目录),运行“ls –l”命令,可以看到 Linux 系统包含以下目录。 1./bin 包含基本命令,如 ls、cp、mkdir 等,这个目录中的文件都是可执行的。 2./boot Linux 阅读全文
posted @ 2016-03-26 16:36 for_learning 阅读(249) 评论(0) 推荐(0)
摘要:网络并发服务器设计 与TCP服务器程序相比较添加以上特殊颜色的代码即可实现并发服务器设计:TCP服务器程序设计 阅读全文
posted @ 2016-03-25 11:37 for_learning 阅读(406) 评论(0) 推荐(0)
摘要:linux脚本编程技术 一、什么是脚本 脚本是一个包含一系列命令序列的可执行(777)文本文件。当运行这个脚本文件时,文件中包含的命令序列将得到自动执行。 二、脚本编程 #!/bin/sh 首行固定格式 #!表明该脚本的的解析器,这里使用/bin/sh来解析 2.1变量 shell脚本允许用户设置和 阅读全文
posted @ 2016-03-25 11:19 for_learning 阅读(317) 评论(0) 推荐(0)
摘要:守护进程学习 一、什么是守护进程 守护进程,也就是通常说的Daemon(精灵)进程,是Linux中的一种服务进程。它的特点是: 1.1后台运行 守护进程需要独立于任何一个控制终端。实现方法调用是通过创建子进程来充当守护进程,而父进程退出,这样子进程就可以在后台运行。(范例展示) pid=fork() 阅读全文
posted @ 2016-03-25 10:55 for_learning 阅读(477) 评论(0) 推荐(0)
摘要:UDP通讯程序设计 一、函数化 1.1服务器使用的函数 创建socket >socket 绑定地址 >bind 接受数据 >recvfrom 发送数据 >sendto 结束连接 >close 1.2客户机使用函数 创建套接字 >socket 发送数据 >sento 接受数据 >recvfrom 结束 阅读全文
posted @ 2016-03-24 12:01 for_learning 阅读(1882) 评论(0) 推荐(0)
摘要:TCP通讯程序设计 这里主要包含客户机和服务器的编程。 一、编程模型函数化 使用函数说明:socket的理解 服务器: 创建socket使用函数 >socket 绑定地址使用函数 >bind 监听端口使用函数 >listen 等待连续使用函数 >accept 收发使用函数 >recv/send 结束 阅读全文
posted @ 2016-03-23 19:39 for_learning 阅读(2711) 评论(0) 推荐(0)
摘要:对linux中socket的理解 一、socket 一般来说socket有一个别名也叫做套接字。 socket起源于Unix,都可以用“打开open –> 读写write/read –> 关闭close”模式来操作。Socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函 阅读全文
posted @ 2016-03-23 18:14 for_learning 阅读(29050) 评论(1) 推荐(2)
摘要:网络协议 本章节主要介绍linxu网络模型、以及常用的网络协议分析以太网协议、IP协议、TCP协议、UDP协议 一、网络模型 TCP/IP分层模型的四个协议层分别完成以下的功能: 第一层 网络接口层 网络接口层包括用于协作IP数据在已有网络介质上传输的协议。实际上TCP/IP标准并不定义与ISO数据 阅读全文
posted @ 2016-03-22 16:27 for_learning 阅读(1233) 评论(0) 推荐(0)
摘要:多线程同步 一、什么是同步 多个线程按照规定的顺序来执行,即为线程同步。 1.1线程同步方式一 通过互斥锁的方式实现线程同步,可以实现但是执行效率比较低(sync.c) 1.2线程同步方式二 使用条件变量,可以使CPU利用率提高(sync1.c) 1.3条件变量 初始化: pthread_cond_ 阅读全文
posted @ 2016-03-22 10:50 for_learning 阅读(558) 评论(0) 推荐(0)
摘要:多线程程序设计 一、什么是线程 1.线程就是“轻量级”的进程。 2.线程与创建它的进程共享代码段,数据段。 3.线程拥有自己独立的栈。 二、函数学习 1创建线程 1).函数名 pthread_create 2).函数原型 int pthread_create(pthread_t *thread, c 阅读全文
posted @ 2016-03-22 10:42 for_learning 阅读(784) 评论(0) 推荐(0)
摘要:消息队列通信 消息队列就是一个消息(一个结构)的链表。而一条消息则可看作一个记录,具有特定的格式。进程可以从中按照一定的规则添加新消息;另一些进程则可以从消息队列中读走消息。 每一个消息都是一个结构体: struct msgbuf{ long mtype; //表示结构体类型,来区分不同的消息 ch 阅读全文
posted @ 2016-03-22 10:32 for_learning 阅读(353) 评论(0) 推荐(0)
摘要:共享内存同行 一、共享内存概念 共享内存是IPC机制中的一种,它允许两个不相关的进程访问同一段内存, 这是传递数据的一种非常有效的方式。 二、函数学习 这里主要有创建共享内存、映射共享内存、分离共享内存、控制共享内存 2.1创建/打开共享内存 1).函数名 shmget 2).函数原型 int sh 阅读全文
posted @ 2016-03-22 10:18 for_learning 阅读(311) 评论(0) 推荐(0)
摘要:信号量进程同步 一组并发进程进行互相合作、互相等待,使得各进程按一定的顺序执行的过程称为进程间的同步。 信号量在进程同步时初始值为:0 信号量在进程互斥时初始值为:大于0的 本章节主要使用信号量,使的两个进程生产到消费有序的完成。就是说必须等到生产完全完场才能,让消费执行。 下面进入编程语言编程学习 阅读全文
posted @ 2016-03-21 19:01 for_learning 阅读(167) 评论(0) 推荐(0)
摘要:信号量互斥 信号量(又名:信号灯)与其他进程间通信方式不大相同,主要用途是保护临界资源(进程互斥)。进程可以根据它判定是否能够访问某些共享资源。除了用于访问控制外,还可用于进程同步。 一、信号量分类 二值信号灯:信号灯的值只能取0或1 计数信号灯:信号灯的值可以取任意非负值。 二、函数学习 2.1创 阅读全文
posted @ 2016-03-21 17:46 for_learning 阅读(189) 评论(0) 推荐(0)
摘要:信号通讯编程 在Linux系统中,信号(signal)同样也是最为古老的进程间通信机制。 一、信号类型 Linux系统支持的所有信号均定义在/usr/include/asm/signal.h(展示),其中常见的信号有: SIGKILL:杀死进程 SIGSTOP:暂停进程 SIGCHLD:子进程停止或 阅读全文
posted @ 2016-03-21 17:39 for_learning 阅读(266) 评论(0) 推荐(0)
摘要:管道通信 一、通讯目的 1、数据传输 一个进程需要将数据发送给另一个进程。 2、资源共享 多个进程之间共享同样的资源。 3、通知事件 一个进程需要向另一个/组进程发送消息,通知它们发生了某事件。 4、进程控制 有些进程希望完全控制另一个进程的执行(如Debug进程),此时控制进程希望能够拦截另一个进 阅读全文
posted @ 2016-03-21 17:33 for_learning 阅读(359) 评论(0) 推荐(0)
摘要:多进程程序设计 一、函数学习 1.1 创建进程fork 1.1.1 函数原形 pid_t fork(void); 1.1.2 函数功能 创建一个子进程 1.1.3 所属头文件 <unistd.h> 1.1.4 返回值 成功:父进程返回创建成功的子进程pid子进程返回 0 失败:父进程返回 1.1.5 阅读全文
posted @ 2016-03-21 17:25 for_learning 阅读(370) 评论(0) 推荐(0)
摘要:进程控制理论 一、进程 进程是一个具有一定独立功能程序的一次运行活动。 1.1进程特点 1.动态性:进程的实质是程序的一次执行过程,进程是动态产生,动态消亡的 2.并发性:任何进程都可以同其他进程一起并发执行 3.独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位 4.异步 阅读全文
posted @ 2016-03-21 16:27 for_learning 阅读(355) 评论(0) 推荐(0)
摘要:时间编程 一、时间类型 Coordinated Universal Time(UTC):世界标准时间,也就是大家所熟知的格林威治标准时间(Greenwich Mean Time,GMT) Calendar Time:日历时间,是用“从一个标准时间点(如:1970年1月1日0点)到此时经过的秒数”来表 阅读全文
posted @ 2016-03-21 15:25 for_learning 阅读(287) 评论(0) 推荐(0)
摘要:库函数系统调用文件方式 基于C函数库的文件编程是独立于具体的操作系统平台的,不管是在Windows、Linux还是其他的操作系统中,都是使用这些函数。使用库函数进行程序设计可提高程序的可移植性。 对于标准的C函数库,它们的操作都是围绕流来进行的。流是一个抽象的概念,当程序需要读取数据的时候,就会开启 阅读全文
posted @ 2016-03-21 14:46 for_learning 阅读(289) 评论(0) 推荐(0)