LINUX系统编程
文章平均质量分 92
Devin_white
我确实很懒
展开
-
LINUX系统编程--9 SOCKET
跨主机的传输要注意的问题1、字节序问题区分大端、小端存储大端存储指的是低地址处放高字节;小端指的是低地址处放低字节。区分主机字节序:host网络字节序:network2、对齐32位的机器,存储向上对齐4个字节,例如一个结构有一个int(四个字节)和一个char(一个字节),加起来是5个字节,向上对齐到8个字节,所以在内存空间中占8个字节。在网络传输中的解决方法是,在网络传输中不进行对齐。3、类型长度问题int占多大?char占多大?在不同的机器上是不确定的。解决方法:int32_原创 2021-10-12 17:30:08 · 172 阅读 · 0 评论 -
LINUX系统编程-- 8 进程间通信
八 进程间通信主要内容:1、管道内核提供、单工、自同步机制匿名管道、命名管道2、XSI3、网络套接字socket0 模拟管道、队列进行通信(即顺序存储的循环队列通信)自己实现一个管道并进行通信,这里用的是顺序存储的循环队列模拟的。下面代码是不完整版,尚未完成,且有bug//mypipe.h#ifndef MYPIPE_H__#define MYPIPE_H__#define MYPIPE_READ 0x00000001UL#define MYPIPE_WRITE 0x000000原创 2021-09-21 18:50:40 · 241 阅读 · 0 评论 -
LINUX系统编程--7 高级IO
高级IO高级IO主要研究非阻塞IO首先要区分阻塞IO与非阻塞IO阻塞和非阻塞是文件本身的属性回忆在信号中:信号会打断阻塞中的系统调用。(如open这个系统调用,有可能被信号打断,打断会返回EINTR,这个是假错! open没有出错,只是在阻塞的过程中被信号处理函数打断了!)还有一种假错,叫EAGAIN,这也是一个假错!他的场景是IO是非阻塞的。以read为例,当read是以非阻塞形式读的时候后,读不到东西会马上返回,并设置error为EAGAIN,这也是一种假错,并不是read出错了,而是没有读原创 2021-09-19 21:24:29 · 149 阅读 · 0 评论 -
LINUX系统编程--6、线程
LINUX系统编程--6、线程六 线程1 线程的概念2 基本函数2.1基础函数2.2 线程的创建2.3 线程的终止2.4 线程的收尸2.5 栈的清理2.6 线程取消3 线程的竞争实例4 竞争故障5 线程同步之互斥量6 线程的池类算法7 线程令牌桶8 线程同步之条件变量9 线程同步之信号量10 线程属性、线程同步属性11 多线程中的重入12 线程和信号13 openmp六 线程内容:1 线程的概念2 线程的创建、线程的终止、线程的取消选项、栈的清理3 线程同步4 线程属性、线程同步的属性6 重原创 2021-09-16 15:52:25 · 307 阅读 · 1 评论 -
LINUX系统编程-- 5 信号
LINUX系统编程-- 5 信号五 信号1信号的概念和相关概念2 core文件:一个程序的某一个现场3 signal函数4ctrl+c是SIGINT的快捷方式(2号信号)5 实例6 信号的不可靠7 可重入函数8 信号的响应过程9 常用函数9.1 漏桶实例,流量控制9.2 令牌桶,流量控制9.3 令牌桶封装成库实例9.4 setitimer函数9.5 system10 信号集11 sigsuspend() 设置信号集状态与挂起 的原子操作12 sigaction(),区别于 signal()13 实时信号原创 2021-09-16 09:00:45 · 395 阅读 · 0 评论 -
LINUX系统编程--4 进程
LINUX系统编程--4 进程四 进程1 进程标识符pid2 进程的产生3 进程的消亡以及释放资源4 exec函数族5 shell命令的实现6 模拟实现shell7 用户权限和组权限!!!8 解释器文件(脚本文件)9 补充10 守护进程11 系统日志四 进程基本内容1 进程标识符pid2 进程的产生fork()、fork()3 进程的消亡以及释放资源4 exec函数族5 用户权限和组权限6 观摩课:解释器文件7 system函数8 进程会计9 进程时间10 守护进程11 系统日志原创 2021-09-16 08:59:19 · 502 阅读 · 0 评论 -
LINUX系统编程--3 文件系统
linux系统编程--3 文件系统三 文件系统1 关于shell命令2 获取文件属性信息2 空洞文件与文件大小3 粘住位4 文件系统:FAT,UFS5 关于位图6 链接文件7 utime8 分析目录、读取目录内容9 系统数据文件和信息10 进程环境11 ls(实现myls)!!12 环境变量13 C程序的存储空间布局14库15 setjump和longjunp16 资源的获取与控制三 文件系统内容介绍目录和文件:获取文件属性、文件访问权限、umask、文件权限的更改/管理、粘住位、文件系统UFS和F原创 2021-09-16 08:57:50 · 205 阅读 · 0 评论 -
LINUX系统编程--2 系统IO
二 系统IO二 系统IO(文件IO)1 文件描述符的概念2 文件IO的操作3 标准IO与文件IO的区别4 IO的效率问题5 文件共享6 dup和dup27 一点设计模式8 同步sync、fsync9 fcntl函数10 ioctl函数11 /dev/fd目录二 系统IO(文件IO)贯穿文件IO的是文件描述符,而贯穿标准IO的是FILE指针(也可以说是流)本章内容:文件描述符的概念文件IO的操作:open close read write lseek文件IO与标准IO的区别IO的效率问题文原创 2021-09-16 08:55:12 · 149 阅读 · 0 评论 -
LINUX系统编程--1标准IO
文件IO零 前言一 标准IO1 man 72 关于const char3 关于errno4参数5 关于二进制文件和文本文件6 FILE7 复习make8 默认打开文件的限制9 创建的文件的默认权限10 fgetc、fputc、fgets、fputs、fwirte、fread以及fclose11 ftell和fseek以及 fflush12 关于标准io的缓冲区13 关于vim下查看man手册的一点技巧14 补充:关于getline15 临时文件零 前言多做练习结合项目一 标准IO这一部分是重点原创 2021-09-16 08:52:18 · 234 阅读 · 0 评论