
Linux&Apue:笔记(基础)
文章平均质量分 92
以实验室的讲义所进行的学习。
NeWorld20
人是一根会思考的芦苇。
展开
-
Linux&Apue(0.5.5):进程间通信的系统IPC方法(共享内存)编程
(一)进程间通信的系统IPC方法(共享内存)编程(1) 共享内存基础知识1.1 共享内存定义共享内存:两个或多个进程都可以访问的同一块内存空间,一个进程对这块空间内容的修改可为其他参与通信的进程所看到的。(因为进程间数据传递不涉及内核,所以共享内存在各种进程间通信方式中具有最高的效率。)实现方式:①在内存划出一块区域来作为共享区。②把这个区域映射到参与通信的各个进程空间。(虚拟地址←页...原创 2020-04-12 15:05:52 · 234 阅读 · 0 评论 -
Linux&Apue(0.5.6):进程间通信的系统IPC方法(消息队列)编程
(一)进程间通信的系统IPC方法(消息队列)编程(1) 消息队列基础知识1.1 消息队列的定义消息队列:在消息的传输过程中保存消息的容器(本质上是位于内核空间的链表,链表的每个节点都是一条消息。消息类型为 0 的链表记录了所有消息加入队列的顺序,除此之外每一条消息都有自己的消息类型,消息类型用整数来表示,而且必须大于 0)。限制:①每个消息的最大长度是有上限的(MSGMAX)。②每个消...原创 2020-04-12 14:36:19 · 324 阅读 · 0 评论 -
Linux&Apue(0.5.4):进程间通信的系统IPC方法(信号量)编程
(一)进程间通信的系统IPC方法编程系统IPC方法:信号量,消息队列,共享内存(1) 信号量1.1 信号量定义信号量:是包含一个非负整数型的变量(本质:计数器),并且带有两个原子操作wait(P,lock)和signal/post(V,unlock),也叫P/V操作),用来记录对某个资源(如共享内存)的存取状况。实现方式:①P(wait操作):如果信号量的非负整形变量S>0,wa...原创 2020-04-11 12:41:11 · 330 阅读 · 0 评论 -
Linux&Apue(0.5.3):进程间通信中信号的基础编程
(一)原创 2020-04-08 22:06:51 · 216 阅读 · 0 评论 -
Linux&Apue(0.5.2):进程间通信命名socket的CS编程
(一)原创 2020-04-06 21:30:32 · 379 阅读 · 0 评论 -
Linux&Apue(0.5.1):进程间通信管道(无名&有名)基础编程
(一)原创 2020-04-04 18:00:07 · 301 阅读 · 0 评论 -
Linux&Apue(0.5.0):进程间通信(IPC)的基础知识
(一)进程间通信的基础知识之前在Linux&Apue(0.4.0)中举到过个例子,就是供水厂供水的情况。假如某地区停水的,我们难道大老远跑过去堵供水厂要解决方案吗?当然不啊,我们需要通过渠道(IPC方法)联系供水厂的有关部门进行交流(父子进程通信),我们也可以向临近地区的进行交流(兄弟进程通信)。现在,问题又来了。供水厂设备故障了,无法向各地方供水了,怎么办呢?通过渠道(IPC方法)...原创 2020-04-03 17:20:00 · 296 阅读 · 0 评论 -
Linux&Apue(0.4.2):epoll多路复用实现服务器多路并发
(一)epoll多路复用实现服务器多路并发(1) epoll()函数的基础知识原创 2020-03-29 17:41:27 · 297 阅读 · 0 评论 -
Linux&Apue(0.4.1):poll多路复用实现服务器多路并发
(一)poll多路复用实现服务器多路并发(1) poll()函数的基础知识poll()函数 :和select实现的功能差不多,poll的作用是把当前的文件指针挂到等待队列(不受1024个限制,但是随着个数上升效率会降低)。#include <poll.h> //头文件包含int poll(struct pollfd *fds, nfds_t nfds, int timeou...原创 2020-03-27 23:07:00 · 352 阅读 · 0 评论 -
Linux&Apue(0.4.1):select多路复用实现服务器多路并发
(一)select函数实现多路并发服务器(1) select()函数的基础知识Select()函数:用于监视文件描述符的变化情况——读写或是异常#include <sys/select.h> //头文件包含#include<sys/types.h> //头文件包含#include<sys/time.h> //头文件包含#includ...原创 2020-03-27 11:57:08 · 336 阅读 · 0 评论 -
Linux&Apue(0.4.0):多进程和多线程的区别&I/O多路复用的基础知识
(一)多路复用的基础知识原创 2020-03-24 10:42:17 · 403 阅读 · 0 评论 -
Linux&Apue(0.1.2):用TCP Test Tool工具测试CS连接
(一)用TCP_TestTool工具测试CS(客户端与服务端)连接(1) 下载相应的TCP Test Tool的程序原创 2020-03-21 00:01:00 · 671 阅读 · 0 评论 -
Linux&Apue(0.3.2):多线程服务器的编程
(一)多线程服务器的基础知识(1) 多线程服务器的流程图(2) 涉及函数原创 2020-03-16 00:29:10 · 304 阅读 · 0 评论 -
Linux&Apue(0.3.1):锁的基本知识&用锁解决多线程访问修改共享资源问题
(一)锁的基本知识在Linux&Apue(0.4.0)中我们用一个thread编程描述了多个子线程之间共享一个共享资源导致的问题。那么,我们怎么解决这个问题呢?(1) 临界的定义临界资源:一个资源会被不同的线程访问修改临界区:临界资源访问修改相关的代码(2) 互斥锁(pthread_mutex_t)互斥锁:引入了对象互斥锁的概念,来保证共享数据操作的完整性。每个对象都对应于一个...原创 2020-03-14 15:55:03 · 280 阅读 · 0 评论 -
Linux&Apue(0.3.0):多线程基本知识&多线程编程
(一)多线程基本知识原创 2020-03-14 02:15:52 · 544 阅读 · 0 评论 -
Linux&Apue(0.2.2):了解守护进程&系统日志
(一)守护进程当我们了解一个新的知识的时候,我们一般在意的无非就几个点。守护进程是什么,守护进程的意义,守护进程怎么使用等。在我们了解守护进程是什么的时候。不如用用自己的键盘操作ctrl+shift+Esc进入到任务管理器,然后点击服务选项。想想:明明我没有打开这些进程,那为什么又会有?(1) 守护进程是什么?守护进程(daemon):Linux中的守护进程就像上面任务管理器提到的这些...原创 2020-03-13 01:44:29 · 335 阅读 · 0 评论 -
Linux&Apue(0.1.1):Client指定IP地址和端口&Server监听所有IP地址和指定端口
(一)Client如何指定IP地址和端口意义:在(0.1.0)文中,我们进行了一个Client的编程。我们知道连接服务器需要IP地址以及端口,如果我们需要连接别的服务器呢?这样IP地址和端口也需要进行相应更改。每次进行VIM编辑再编译是一件十分麻烦的事情,那么我们想在运行文件的时候就像LINUX系统下命令选项的操作进行IP地址和端口的指定。(1)涉及函数:1.1 getopt_long()函...原创 2020-03-11 23:54:52 · 1050 阅读 · 0 评论 -
Linux&Apue(0.2.1):多进程并发服务器的编程
(一)多进程并发服务器的编程(1) 多进程并发服务器流程图原创 2020-03-10 23:23:18 · 268 阅读 · 0 评论 -
Linux&Apue(0.2.0):多进程的基础知识&简单进程创建和使用编程
(一)多进程的基础知识(1) 多进程定义&进程空间内存1.1 多进程定义进程:正在运行的程序及其占用的资源(CPU、内存、系统资源等)叫做进程。(例如:我们vim…得到的源码,gcc …得到的可执行文件,他们都没有占用资源,所以都不叫作进程。)多进程:多个进程可以执行同一个程序。1.2 进程空间内存...原创 2020-03-10 00:12:34 · 372 阅读 · 0 评论 -
Linux&Apue(0.1.0):网络socket(套接字)的基础知识&简单的CS(client&server)编程。
(一)网络通信基础知识原创 2020-03-02 21:36:24 · 763 阅读 · 0 评论 -
Linux&Apue(0.0.0):Linux下的I/O文件调用&获取存放的温度数据
(一)文件和文件描述符(1) 文件扩展名和文件类型1.1 文件扩展名目的:其实在Linux下文件是否可以执行与文件拓展名没有太大关系。但是,我们添加这种扩展名可以进行人为的区分,以便后面的有效分类以及使用。扩展名表示扩展名表示.tar, .tar.gz, .tgz, .zip, .tar.bz表示压缩文件,创建命令为tar, gzip, unzip等.sh表示...原创 2020-02-28 14:25:18 · 594 阅读 · 0 评论