Liunx知识
文章平均质量分 59
主要介绍Liunx环境下,调用系统函数来实现某些功能,并附带介绍了Liunx的一些知识点
无所谓จุ๊บ
这个作者很懒,什么都没留下…
展开
-
Linux编程-前导
Linux是一种开源电脑操作系统内核。原创 2024-02-24 16:16:35 · 869 阅读 · 0 评论 -
Linux编程3.2 进程-C程序启动过程
进程ID(PID)为1的进程,被称为init进程或init系统,它是系统的第一个进程,由内核在系统引导后创建。③从 MBR 指示,找到 GRUB 所在分区,加载 GRUB 显示菜单。系统初始化、进程管理、运行级别切换、孤儿进程处理。① BIOS 启动,完成自检,选择启动硬件。④加载 Linux 内核到内存中。②如果是磁盘系统读取 MBR。⑤执行 INIT 程序。1、内核启动特殊例程。原创 2024-03-06 15:41:36 · 312 阅读 · 0 评论 -
Linux编程4.8 网络编程-建立连接
【代码】Linux编程4.8 网络编程-建立连接。原创 2024-03-18 17:37:42 · 432 阅读 · 0 评论 -
Linux编程4.9 网络编程-建立连接
使用系统提供的IO多路复用函数(select、poll、epoll),要求内核挂起进程,会有一个线程不断去轮询监控多个文件描述符的状态,只有在一个或多个I/O事件发生后,才将控制返回给应用程序,真正调用实际的IO读写操作。多线程服务器是对多进程服务器的改进,由于进程在创建进程时要消耗较大的系统资源,所以用线程来取代进程,这样服务处理程序可以较快的创建。据统计,创建线程与创建进程要快 10100 倍,所以又把线程称为“轻量级”进程。2.3 I/O多路转换。原创 2024-03-19 16:03:22 · 366 阅读 · 0 评论 -
Linux编程 2.3 文件和目录-文件权限
struct stat *buf : 文件属性结构体变量的地址。const char *path : 文件名(含路径)原创 2024-03-01 15:30:00 · 324 阅读 · 0 评论 -
Linux编程4.5 网络编程-套接字(Socket)
Socket(套接字)是一种通讯机制,它包含一整套的调用接口和数据结构的定义,它给应用进程提供了使用如TCP/UDP等网络协议进行网络通讯的手段。Linux中的网络编程通过Socket接口实现,Socket既是一种特殊的IO,提供对应的文件描述符。一个完整的Socket都有一个相关描述{协议,本地地址,本地端口,远程地址,远程端口};每一个Socket有一个本地的唯一Socket,由操作系统分配。原创 2024-03-14 17:05:23 · 401 阅读 · 0 评论 -
Linux编程4.4 网络编程-通信架构
TCP客户端服务器编程模型1、客户端调用序列调用socket函数创建套接字调用connect连接服务器端调用I/O函数(read/write)与服务器端通讯调用close关闭套接字2、服务器端调用序列调用socket函数创建套接字调用bind绑定本地地址和端口调用listen启动监听调用accept从已连接列队中提取客户连接调用I/O函数(read/write)与客户端通讯调用close关闭套接字3、大致的函数调用流程原创 2024-03-14 16:02:56 · 706 阅读 · 0 评论 -
Linux编程4.6 网络编程-绑定套接字(bind)
函数功能:主要的过程是调用bind函数将socket和地址(包括ip、port)进行绑定。原创 2024-03-15 17:08:40 · 536 阅读 · 0 评论 -
Linux编程3.1 进程-进程的概念
进程:程序运行,由操作系统内核对该程序进行资源的分配 ,子进程会拷贝父进和的资源,拷贝的结果为副本。进程中,再创建另外的进程,两个进程父子关系。2、子进程的资源,由父里进程负责回收。1、父子进程之间,可以使用匿名管道。原创 2024-03-04 16:57:54 · 441 阅读 · 0 评论 -
Linux编程4.1 网络编程-前导
由于,跨计算机的进程间通信,通过电信/移动等网络节点,因此,数据通信不稳定。单服务与多客户端的进程间通信C/S client server。原创 2024-03-12 16:28:28 · 547 阅读 · 0 评论 -
Linux编程 2.4 文件和目录-Linux文件系统结构
硬链接没有自己的i节点,没有自己的单独的数据,只是指向i节点。软链接不能创建数据区域,但有自己的i节点,来指向文件。对于文件,remove的功能与unlink相同。对于目录,remove的功能与rmdir相同。存放文件系统本身的结构信息。节点包含数据块的列表。存放i-节点信息列表。原创 2024-03-01 16:50:47 · 431 阅读 · 0 评论 -
Linux编程3.7 进程-进程间通信
5、管道文件不是普通文件,管道的缓存在内核中,不在硬盘里,断开连接缓存清除。4、当建立连接之后,再断开一端连接,另一端不阻塞,再建立连接则回复阻塞。2、两边打开建立连接,否则阻塞等待连接。1、半双工通信,一边读,一边写。原创 2024-03-12 15:24:58 · 338 阅读 · 0 评论 -
Linux编程4.3 网络编程-数据封装
1、数据封装2、Internet协议(IP)IP的主要目的是为数据输入/输出网络提供基本算法,为高层协议提供无连接的传送服务。这意味着在IP将数据递交给接收站点以前不在传输站点和接收站点之间建立对话(虚拟链路)。它只是封装和传递数据,但不向发送者或接收者报告包的状态,不处理所遇到的故障。 IP协议有以下四个主要功能 数据传送 寻址 路由选择 数据报文的分段 IP协议不注意包内的数据类型,它所知道的一切是必须将某些称为IP帧头的控制协议回到高层协议(TCP或者UDP)所接受的原创 2024-03-13 17:17:21 · 658 阅读 · 2 评论 -
Linux编程4.10 网络编程-数据传输
【代码】Linux编程4.10 网络编程-数据传输。原创 2024-03-19 17:02:02 · 138 阅读 · 0 评论 -
Linux编程 2.5 文件和目录-管道文件
管道是一种两个进程间进行单向通信的机制。管道是一种最基本的IPC机制,作用于有血缘关系的进程之间,完成数据传递。调用pipe系统函数即可创建一个管道。管道又分为匿名管道和命名管道。管道有如下(1)其本质是一个伪文件(实为内核缓冲区)(2) 由两个文件描述符引用,一个表示读端,一个表示写端。(3) 规定数据从管道的写端流入管道,从读端流出。(1)只能进行单向通信;(2)只适用于有血缘关系之间的进程;(3)自带同步基质;(4)在进行通信时面向字节流服务;(5)生命进程随周期。原创 2024-03-04 15:40:37 · 903 阅读 · 0 评论 -
Linux编程4.7 网络编程-套接字与地址
这两个数据类型是等效的,可以相互转换,通常使用sockaddr_in更为方便。原创 2024-03-18 17:11:05 · 384 阅读 · 0 评论 -
Linux编程3.3 进程-进程的终止
内核中,会产生或监听若干信号,若一个进程,监听了一个信号,则当发生该信号时,此进程会将当前进度暂停。3. signal信号回收->当子进程结束,内核会发射SIGCHLD信号到对应的父进程中。通常可以查看到:进程的ID、进程的用户ID、进程状态和进程的Command。登记的多个终止函数执行顺序是以栈的方式执行,先登记的后执行。进程的NICE值,数值大,表示较少占用CPU时间。每个启动的进程都默认登记了一个标准的终止函数。终止函数在进程终止时释放进程所占用的一些资源。7.2、ps输出的信息;原创 2024-03-06 16:04:59 · 1090 阅读 · 0 评论 -
Linux编程 2.1 文件和目录-文件属性
用来存放文件各种信息。原创 2024-02-27 17:33:58 · 334 阅读 · 0 评论 -
Linux编程 2.2 文件和目录-文件类型
Linux一切皆文件。原创 2024-02-28 16:24:04 · 390 阅读 · 0 评论 -
Linux编程 1.2 系统文件IO- 使用
open函数的flags参数(一个或多个常数进行或运算构成)(常数定义在<fcntl.h>)原创 2024-02-26 14:09:21 · 823 阅读 · 0 评论 -
Linux编程 1.1 系统文件IO-调用概述
这些不带缓存的函数都是内核提供的系统调用。它们不是ANSI C的组成部份,是POSIX的组成部分。遵守ISO标准,基于流的I/O,对文件指针(FILE结构体)进行操作。兼容POSIX标准,基于文件描述符的I/O,对文件描述符进行操作。原创 2024-02-24 16:26:41 · 369 阅读 · 0 评论 -
Linux编程 1.3 系统文件IO- 内核表示
如果请求的I/O操作阻塞,且他不是真正阻塞I/O,而且让其中的一个函数等待,在这期间,I/O还能进行其他操作。在这种模型下,当一个描述符已准备好,可以启动I/O时,进程会通知内核。若所调用的I/O函数没有完成相关的功能就会使进程挂起,直到相关数据到达才会返回。当请求的I/O操作不能完成时,则不让进程休眠,而且返回一个错误。在这种模型下,通过安装一个信号处理程序,系统可以自动捕获特定信号的到来,从而启动I/O。复制文件描述符,新的文件新的文件描述符作为函数返回值返回。1)、阻塞I/O模型。原创 2024-02-26 15:49:05 · 882 阅读 · 0 评论 -
Linux编程4.2 网络编程-协议
它负责在源主机和目的主机之间传输来自其较高层软件的称为数据报文的数据块,它在源和目的地之间提供非连接型传递服务。ICMP(网络控制信息协议Internet Control Message Protocol)处理IP的状态信息,比如能影响路由决策的数据错误或改变。RIP(路由信息协议Routing Information Protocol)它是几个决定信息传输的最佳路由路线协议中的一个。ARP实际上不是网络层部分,它处于IP和数据链路层之间,它是在32位IP地址和48位局域网物理地址之间执行释放的协议。原创 2024-03-13 15:59:15 · 1070 阅读 · 0 评论 -
Linux编程3.6 进程-其他进程及函数
父进程结束,子进程就成为孤儿进程,会由1号进程(init进程)领养。envp为进程的环境表。原创 2024-03-09 17:11:13 · 1348 阅读 · 0 评论 -
Linux编程3.5 进程-进程创建
父进程创建一个子进程后,文件表项中的引用计数器加1变成2,当父进程作close操作后,计数器减1,子进程还是可以使用文件表项,只有当计数器为0时才会释放文件表项。两次返回的区别是:在子进程中返回值是0,而在父进程中的返回值则是新子进程的进程ID。用户信息和权限、目录信息、信号信息、环境、共享存储段、资源限制、堆、栈和数据段,共享代码段。子进程只继承父进程的文件描述表,不继承但共享文件表项和i-node。创建子进程,但子进程先运行且不复制父进程的内存空间。进程ID、锁信息、运行时间、未决信号。原创 2024-03-07 16:34:42 · 496 阅读 · 0 评论 -
Linux编程3.4 进程-进程标识
【代码】Linux编程3.4 进程-进程标识。原创 2024-03-07 16:09:54 · 340 阅读 · 0 评论