Linux基础知识
文章平均质量分 88
Linux的基础知识介绍,菜鸟入门级基础知识详解。
z_xiao_xue
这个作者很懒,什么都没留下…
展开
-
进程间通信---管道
一、进程间通信的实质 每个进程都有各自不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到。所以进程之间要交换数据必须要通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间考到内核缓冲区,进程2载从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信。如图:二、管道管道是一种最基本的IPC机制,由pipe函数创建。调用pipe函数,在内核中开辟一原创 2017-05-18 18:04:11 · 768 阅读 · 0 评论 -
浅析HTTP协议
一、http的特点1.支持客户/服务器模式2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET,POST,HEAD。每种方法规定了客户与服务器的联系不同。由于http协议简单,使得http服务器的程序规模小,所以通信很快。3.灵活:http允许传输任意类型的数据对象。4.无连接:无连接的含义是含义是限制每次连接只处理一个请求。服务器处理完客户的请求,原创 2017-04-23 23:40:13 · 744 阅读 · 0 评论 -
IPC之消息队列
一、什么是消息队列?消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法。 每个数据块都被认为含有一个类型,接收进程可以独立地接收含有不同类型的数据结构。我们可以通过发送消息来避免命名管道的同步和阻塞问题。但是消息队列与命名管道一样,每个数据块都有一个最大长度的限制。Linux用宏MSGMAX和MSGMNB来限制一条消息的最大长度和一个队列的最大长度。二、在Lin原创 2017-05-17 00:20:12 · 739 阅读 · 0 评论 -
三种I/O复用函数的比较总结
下列情况下可以用到I/O多路转接技术:1.客户端程序要同时处理多个socket。(比如非阻塞的connect技术)2.客户端程序要同时处理用户输入和网络连接。3.TCP服务器要同时处理监听socket和连接socket。(I/O复用使用最多的场合)4.服务器要同时处理TCP请求和UDP请求。5.服务器要同时监听多个端口,或者处理多种服务。(xinetd服务)I/O复用虽然可原创 2017-03-30 23:10:19 · 1322 阅读 · 0 评论 -
I/O复用(三)---epoll机制
epoll实现机制分析:epoll是Linux特有的I/O复用函数。它在实现和使用上与select和poll有很大的差异。首先,epoll使用一组函数来完成任务,而不是单个的函数。其次,epoll把用户关心的文件描述符上的事件放在内核的一个时间表中,从而无需像select和epoll那样每次调用都要重复传入文件描述符和集或事件集。但epoll需要使用一个额外的文件描述符,来唯一标识内核中的这个原创 2017-03-21 13:34:15 · 784 阅读 · 0 评论 -
I/O复用(二)
Linux下实现I/O多路复用的系统调用主要有select、poll和epoll。原创 2017-03-21 00:03:51 · 575 阅读 · 0 评论 -
高级I/O
非阻塞I/O,记录锁,I/O多路转接(select/poll),readv和writev函数以及存储映射I/O,这些tong'cheng原创 2017-03-20 12:18:28 · 510 阅读 · 0 评论 -
Linux网络编程基础API(多线程实现)
用到知识点:1.套接字的创建、绑定、监听、接收、链接2.多线程编程:线程创建、线程等待、线程分离、3.字符串和IP地址的转化等server.c实现多个客户端连接服务器的功能/************************************************************************* > File Name: tserver.c原创 2017-03-14 13:02:21 · 422 阅读 · 0 评论 -
I/O复用(一)
I/O复用使得程序能同时监听多个文件描述符,这对提高程序的性能至关重要。通常,网络程序在下列情况下需要使用I/O复用技术。 1.客户端程序要同时处理多个socket。 2.客户端程序要同时处理用户输入和网络连接。 3.TCP服务器要同时处理监听socket和连接socket。 4.服务器要同时监听多个端口,或者处理多种服务。I/O复用虽然能同时监听多个文件描述符原创 2017-03-17 10:52:13 · 510 阅读 · 0 评论 -
套接字socket实现UDP
TCP/UDP都是运输层协议,他们之间的最大区别就是TCP是面向连接的可靠传输协议,而UDP是不可靠的。UDP的主要特点:1.UDP是无连接的,发送数据不需要建立连接,因此,减少了开销和发送数据之前的时延。2.UDP使用最大努力交付,不保证可靠交付。3.UDP是面向报文的,而TCP是面向字节流的。4.UDP没有拥塞控制。5.UDP支持一对一,一对多,多对一和多对多的交互通信原创 2017-03-11 22:26:50 · 732 阅读 · 0 评论 -
网络套接字
Socket(套接字)一、什么是Socket? 在TCP/IP协议中,“IP地址+TCP/UDP端口号”可以唯一标识网络中的一个进程。IP地址+TCP/UDP端口号就是Socket。 在TCP协议中,建立连接的两个进程各自有一个socket来标识。这样,这两个进程组成了一个socket pair就唯一标识一个连接。网络连接是一对一的。二、网络数据流的大小端原创 2017-03-10 22:37:39 · 890 阅读 · 0 评论 -
task_struck结构体成员注释
task_struct结构注释 ========================== long state 任务的运行状态(-1 不可运行,0 可运行(就绪),>0 已停止)。 long counter 任务运行时间计数(递减)(滴答数),运行时间片。 long priority 运行优先数。任务开始运行时counter = priority,越大运行越长。原创 2017-01-08 16:33:58 · 1563 阅读 · 0 评论 -
Linux的五个查找命令
每一种操作系统都由成千上万的文件组成,Linux系统更是一切皆文件,我们都能很轻松使用windows下的文件查找功能,(Everything也是一款很好用的文件查找软件),但是对linux这一功能可能并不是很熟悉,因为linux系统下文件没有固定的文件名后缀,而且一个相同的文件在不同的发行版,可能会有不同,所以牢牢掌握linux系统的查找命令就会显得十分重要,学习起来也会更加顺利,而且在学习的过程原创 2016-12-29 22:50:12 · 5636 阅读 · 0 评论 -
浅析Linux下的三个时间
前言:windows打开一个文本文件的设置,我们会看到有三个时间:这三个时间分别标识了windows系统中,这个文件的创建时间、修改时间和访问时间。 那么,对于“一切皆文件的”Linux系统呢?查看Linux下时间:Linux下有一条查看时间的指令---statLinux系统下也有三个主要的时间参数,分别是Access,Modify,Change原创 2017-01-01 11:30:12 · 658 阅读 · 0 评论 -
Linux下的软硬链接
一、LInux链接概念 Linux链接分为符号链接(Symbolic Link)也叫软链接和硬链接(Hard Link)两种,默认情况下,ln命令会产生硬链接。二、软链接 1.创建软链接的命令:ln -s sourcefile newfile 2. 简介: 软链接又叫做符号链接,软链接文件有类似于Wondow原创 2016-12-30 17:18:59 · 885 阅读 · 0 评论 -
进度条所引发的问题
本文主要概述的问题:一、进度条的实现原理二、缓冲区的问题三、回车和换行的问题四、进度条的实现五、Makefile文件的编写 我们要实现一个简单的进度条,完成后如下图所示:那么这个建议的进度条的实现原理是什么呢?原创 2017-01-03 17:44:53 · 443 阅读 · 0 评论 -
Linux中的粘滞位
本文内容:一、前言二、粘滞位的概念三、粘滞位的作用四、粘滞位的简单分析五、粘滞位的设置前言 最近在学习Linux的过程中发现了一个问题,用户A与用户B同属一个组,且一个文件对该组成员具有可写和可执行的权限,但是用A创建的文件,B却无法删除。原来是该文件位置的上层目录的权限是drwxrwxrwt。 我们都直到,Linux下每一个文件或目录都有自己的访问权限原创 2017-01-05 11:14:33 · 493 阅读 · 0 评论