Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

一步一步学Linux C:网络编程之通信机制和体系结构模式

一步一步学Linux C:网络编程之通信机制和体系结构模式

提到Linux 操作系统,就不能不提到网络技术。Linux 系统本身就是一个网络的产物,它在网络上可以供人们自由下载,并得到修改和完善。。Linux 系统支持多种网络协议,它的shell 还提供了强大的联网命令。这些优点使得Linux 为许多中小型的网络应用提供了完全的解决方案.提到计算机网络,就不得不先介绍一下它的通信机制和体系结构模式。1.通信模式所有的网络通信的实现方式可以分为两种:线路交换和包交换。所谓线路交换,就是指传输时在发送端和接收端之间建立...
一步一步学Linux C:文件操作

一步一步学Linux C:文件操作

由于文件操作网上的资源比较多,在这只简述下吧在Linux 系统中,有关I/O 的操作可以分为两类。它们是基于文件描述符的I/O 操作和基于流的I/O 操作。它们有着各自不同的特点和优势。有些情况下它们是可以相互替代的,有些情况下则不是。基于文件描述符的I/O 操作是通过文件描述符对一个文件执行I/O 操作的。文件是一个十分重要的概念。通常保存在外存中的数据都是以文件的形式保存的。文件描述符则是用于描述被打开文件的索引值。通常情况下,都是通过文件描述符打开一...
一步一步学Linux C:消息队列实例

一步一步学Linux C:消息队列实例

消息队列是一系列连续排列的消息,保存在内核中,通过消息队列的引用标识符来访问。消息队列与管道很相似,但使用消息队列的好处是对每个消息指定了特定消息类型,接收消息的进程可以请求接收下一条消息,也可以请求接收下一条特定类型的消息。#include<sys/types.h> #include<sys/ipc.h> #include<sys/msg.h> #include<stdio.h> #include&...
一步一步学Linux C:底层终端编程实例

一步一步学Linux C:底层终端编程实例

Linux 系统的终端处理是一个非常大的系统,需要处理许多不同类型的设备和需求。涉及的内容包括:调制解调器、终端仿真、伪终端等。Linux 系统处理终端的方法是通过串行接口连接的控制台与系统通信并运行程序。由于越来越多的厂商都参与到终端的生产,而且每个厂商都为自己的终端设计自己的命令集,所以需要有一种方法对终端的访问进行一般化处理。Linux 系统使用一个能力数据库terminfo来描述每个终端的能力以及调用这些功能的方法。在某些情况下,程序员希望能够对某...
Linux 网络编程简单实例

Linux 网络编程简单实例

当然此处仅仅是对于单用户请求的处理,对于多用户的请求后面再说!对于server处理:server要做的就是创建自己的套接字,然后设置一些参数:例如协议类型,IP之类。然后就是bind参数,再次就是监听( listen),最后就是accept进入睡眠等待状态,if有cilent的请求就会有反应!对于chient的处理:建立自己的套接字,然后就是连接到server,发送自己的数据,然后等待server的回送!server.cpp#include<stdi...
Linux 进程通信(System V)

Linux 进程通信(System V)

简介:一.#include <unistd.h>int pipe(int fd[2]); //!>注意参数是fd[0]是读的文件描述符,fd[1]是用来写的文件描述符一般用于 “父子进程” 之间的通信!因为pipe是没有标志的,所以只能在一个进程集中运作!“单向pipe”:父进程创建好 pipe 后,同时通过 fork() 创建一个子进程,然后父进程就可以关闭自己这端的“读进程”,因为 父进程就是将数据写入子进程的,所以无须 “读”,然后...
UNIX domain ( UNIX 预协议 ) 实例

UNIX domain ( UNIX 预协议 ) 实例

一般在我们自己的主机上通信的时候,前面也讲到过可以使用pipe,fifo,msg,共享内存之类,如果你想使用套接字的话,当然TCP/IP的套接字也是可以的,只要指定server的IP = 127.0.0.1 或者你的当前主机的实际接入网络的IP也是可以的!但是相对与此处的UNIX domain来说,在效率上可能会低一点点、、、UNIX domain的实际操作和前面的TCP/IP中的实际的操作的框架流程是差不多的!只是其中的细节的变化要注意!代码贴下:ser...
Linux基础知识:进程创建与退出小谈

Linux基础知识:进程创建与退出小谈

个人学习笔记,仅为加深记忆,水平有限,有错的地方,大家指正。1、进程创建使用fork()用户空间执行fork,陷入内核执行系统调用,创建子进程,实现父进程的拷贝,拷贝包括(进程控制块、页表)。父进程和子进程的页表共享物理页,没有实现内存的拷贝,linux采用了copy-on-write技术,就是子进程执行后如果有往内存写入的操作,操作系统就为子进程拷贝一份父进程内存的数据,父子进程的页表各自有自己的物理页相对应。往往子进程创建以后都是通过exec执行另外的...
Linux Epoll使用详解

Linux Epoll使用详解

epoll简介epoll 是Linux内核中的一种可扩展IO事件处理机制,最早在 Linux 2.5.44内核中引入,可被用于代替POSIX select 和 poll 系统调用,并且在具有大量应用程序请求时能够获得较好的性能( 此时被监视的文件描述符数目非常大,与旧的 select 和 poll 系统调用完成操作所需 O(n) 不同, epoll能在O(1)时间内完成操作,所以性能相当高),epoll 与 FreeBSD的kqueue类似,都向用户空间提...
Linux的epoll模型详解

Linux的epoll模型详解

1. Epoll是何方神圣?Epoll可是当前在Linux下开发大规模并发网络程序的热门人选,Epoll在Linux2.6内核中正式引入,和select相似,其实都I/O多路复用技术而已,并没有什么神秘的。其实在Linux下设计并发网络程序,向来不缺少方法,比如典型的Apache模型(Process Per Connection,简称PPC),TPC(Thread PerConnection)模型,以及select模型和poll模型,那为何还要再引入Epo...
Linux Epoll学习笔记

Linux Epoll学习笔记

epoll 是Linux内核中的一种可扩展IO事件处理机制,最早在 Linux 2.5.44内核中引入,可被用于代替POSIX select 和 poll 系统调用,并且在具有大量应用程序请求时能够获得较好的性能( 此时被监视的文件描述符数目非常大,与旧的 select 和 poll 系统调用完成操作所需 O(n) 不同, epoll能在O(1)时间内完成操作,所以性能相当高),epoll 与 FreeBSD的kqueue类似,都向用户空间提供了自己的文件...
<< 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 >>