- 本篇文章为BIO与阻塞IO的续篇,详细介绍了select、poll以及epoll等多路复用组件的使用方法以及底层原理。尤其详细分析了epoll的源码,做到一篇文章完全搞懂I/O多路复用模型 本篇文章为BIO与阻塞IO的续篇,详细介绍了select、poll以及epoll等多路复用组件的使用方法以及底层原理。尤其详细分析了epoll的源码,做到一篇文章完全搞懂I/O多路复用模型
- 我们之前讨论的都是进程和被打开文件的关系,而如果一个文件是没有被打开呢?没有被打开的文件操作系统如何管理?没有被打开的文件在磁盘上,所以磁盘上有大量的文件,这些文件要被静态管理起来,方便我们随时打开,而做这部分工作的我们称为文件系统。@[toc] 一、了解磁盘磁盘是计算机主要的存储介质,可以存储大量的二进制数据,并且断电后也能保持数据不丢失。下面,我们来简单了解一下磁盘的结构👇 1.磁盘的... 我们之前讨论的都是进程和被打开文件的关系,而如果一个文件是没有被打开呢?没有被打开的文件操作系统如何管理?没有被打开的文件在磁盘上,所以磁盘上有大量的文件,这些文件要被静态管理起来,方便我们随时打开,而做这部分工作的我们称为文件系统。@[toc] 一、了解磁盘磁盘是计算机主要的存储介质,可以存储大量的二进制数据,并且断电后也能保持数据不丢失。下面,我们来简单了解一下磁盘的结构👇 1.磁盘的...
- @[toc] 一、回顾C文件接口 1.打开和关闭对于C语言的文件操作,首先我们需要打开(fopen)文件,打开失败将会返回NULL ,而打开成功则返回文件的指针(FILE*)最后我们则需要关闭(fclose)文件。FILE *fopen(char *filename, char *mode)filename为文件名(包括文件路径),mode为打开方式,它们都是字符串int fclose(FI... @[toc] 一、回顾C文件接口 1.打开和关闭对于C语言的文件操作,首先我们需要打开(fopen)文件,打开失败将会返回NULL ,而打开成功则返回文件的指针(FILE*)最后我们则需要关闭(fclose)文件。FILE *fopen(char *filename, char *mode)filename为文件名(包括文件路径),mode为打开方式,它们都是字符串int fclose(FI...
- (1)掌握基本命令 (2)掌握BP提供的服务器 (3)掌握拼拼接命令 (1)掌握基本命令 (2)掌握BP提供的服务器 (3)掌握拼拼接命令
- 记录Qt在Redhat5.3、6.3环境下安装、配置出现的各种问题以及对应的解决办法。 记录Qt在Redhat5.3、6.3环境下安装、配置出现的各种问题以及对应的解决办法。
- 写在前面遇到一个 ping 单通 的情况,需要抓包分析下,所以整理这部分笔记博文内容涉及:HTTP/TCP 抓包分析 DemoICMP 抓包分析 DemoNginx 抓包分析用户名密码 Demo理解不足小伙伴帮忙指正 这世界的存在完全只是就它对一个其他事物的,一个进行 "表象者" 的关系来说的,这个进行 "表象者" 就是人自己 -----《作为意志和表象的世界》(第一篇 世界作为表象初论)t... 写在前面遇到一个 ping 单通 的情况,需要抓包分析下,所以整理这部分笔记博文内容涉及:HTTP/TCP 抓包分析 DemoICMP 抓包分析 DemoNginx 抓包分析用户名密码 Demo理解不足小伙伴帮忙指正 这世界的存在完全只是就它对一个其他事物的,一个进行 "表象者" 的关系来说的,这个进行 "表象者" 就是人自己 -----《作为意志和表象的世界》(第一篇 世界作为表象初论)t...
- 写在前面嗯,今天和小伙伴们分享一些 firewall 的笔记内容涉及:zone 的介绍具和具体规则的添加服务,端口和协议,ICMP 阻塞,SNAT/DNAT,IP伪装,端口转发等Demofirewall 离线命令(服务未启动规则预设方式)理解不足小伙伴帮忙指正 傍晚时分,你坐在屋檐下,看着天慢慢地黑下去,心里寂寞而凄凉,感到自己的生命被剥夺了。当时我是个年轻人,但我害怕这样生活下去,衰老下去... 写在前面嗯,今天和小伙伴们分享一些 firewall 的笔记内容涉及:zone 的介绍具和具体规则的添加服务,端口和协议,ICMP 阻塞,SNAT/DNAT,IP伪装,端口转发等Demofirewall 离线命令(服务未启动规则预设方式)理解不足小伙伴帮忙指正 傍晚时分,你坐在屋檐下,看着天慢慢地黑下去,心里寂寞而凄凉,感到自己的生命被剥夺了。当时我是个年轻人,但我害怕这样生活下去,衰老下去...
- 《这就是我和ECS的“事故”》 《这就是我和ECS的“事故”》
- 回顾一下,我们前面学习了进程创建,进程终止,进程等待,进程替换,通过这些内容我们可以来进行实现简单的shell命令行解释器!!!下面我们直接来看一看如何去实现shell命令行解释器:总体分为(整体需要循环哦):1.输出提示符2.输入和获取命令3.fork创建子进程4.内建命令输出提示符这里的提示字符为用户名@主机名 当前路径# 直接打印出来作为提示所用,也可以自己设置成其他的,问题不大pri... 回顾一下,我们前面学习了进程创建,进程终止,进程等待,进程替换,通过这些内容我们可以来进行实现简单的shell命令行解释器!!!下面我们直接来看一看如何去实现shell命令行解释器:总体分为(整体需要循环哦):1.输出提示符2.输入和获取命令3.fork创建子进程4.内建命令输出提示符这里的提示字符为用户名@主机名 当前路径# 直接打印出来作为提示所用,也可以自己设置成其他的,问题不大pri...
- @[toc] 一、再识fork()对于fork我们是比较熟悉的了,现在我们可以在来看看fork👇fork()函数两个返回值问题fork()函数的实现在操作系统内部,函数准备return的时候核心代码已经执行完,子进程早已经被创建,并且可能在OS的运行队列中,准备被调度。fork之后,有两个执行流,父子进程代码是共享的,所以return会被调度两次,被父子进程各自执行return的。理解父进... @[toc] 一、再识fork()对于fork我们是比较熟悉的了,现在我们可以在来看看fork👇fork()函数两个返回值问题fork()函数的实现在操作系统内部,函数准备return的时候核心代码已经执行完,子进程早已经被创建,并且可能在OS的运行队列中,准备被调度。fork之后,有两个执行流,父子进程代码是共享的,所以return会被调度两次,被父子进程各自执行return的。理解父进...
- @[toc] 一、是什么回顾我们学习C/C++时的地址空间:有了这个基本框架,我们对于语言的学习更加易于理解,但是地址空间究竟是什么❓我们对其并不了解,是不是内存呢?对于是什么这个问题,我们需要通过一个例子来进行切入,见一见现象下面我们通过代码看现象:我们发现子进程把全局变量global_value修改之后,子进程和父进程的值是不同的,这些我们都能理解,因为进程之间具有独立性。但是这里glo... @[toc] 一、是什么回顾我们学习C/C++时的地址空间:有了这个基本框架,我们对于语言的学习更加易于理解,但是地址空间究竟是什么❓我们对其并不了解,是不是内存呢?对于是什么这个问题,我们需要通过一个例子来进行切入,见一见现象下面我们通过代码看现象:我们发现子进程把全局变量global_value修改之后,子进程和父进程的值是不同的,这些我们都能理解,因为进程之间具有独立性。但是这里glo...
- @[toc] 一、环境变量 1.概念环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,是操作系统为了满足不同的应用场景预先在系统内预先设置的一大批全局变量环境变量通常具有某些特殊用途,还有在系统当中通常具有全局特性要执行一个程序,那就需要先找到这个程序,怎么去找,这时候就需要带上路径,问题来了:如果我们不想要带上路径呢?第一种方法把... @[toc] 一、环境变量 1.概念环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,是操作系统为了满足不同的应用场景预先在系统内预先设置的一大批全局变量环境变量通常具有某些特殊用途,还有在系统当中通常具有全局特性要执行一个程序,那就需要先找到这个程序,怎么去找,这时候就需要带上路径,问题来了:如果我们不想要带上路径呢?第一种方法把...
- 📝一、操作系统进程进程不同的状态本质都是在满足不同的运行场景的 1.运行队列运行队列进程如何在CPU上运行的:CPU在内核上维护了一个运行队列,进行进程的管理。让进程入队列,本质就是将该进程的task_struct 结构体对象放入运行队列之中。 2.运行状态运行状态进程PCB在运行队列里就是运行状态,不是说这个进程正在运行,才是运行状态。状态是进程内部的属性,所有的属性在PCB里进程不只... 📝一、操作系统进程进程不同的状态本质都是在满足不同的运行场景的 1.运行队列运行队列进程如何在CPU上运行的:CPU在内核上维护了一个运行队列,进行进程的管理。让进程入队列,本质就是将该进程的task_struct 结构体对象放入运行队列之中。 2.运行状态运行状态进程PCB在运行队列里就是运行状态,不是说这个进程正在运行,才是运行状态。状态是进程内部的属性,所有的属性在PCB里进程不只...
- traceroute 命令是一个有用且易于运行的网络诊断工具,本文给大家介绍了12个traceroute 命令示例,希望本文能够对您使用traceroute 命令有所帮助,如果有问题可以在下方评论区与我讨论! traceroute 命令是一个有用且易于运行的网络诊断工具,本文给大家介绍了12个traceroute 命令示例,希望本文能够对您使用traceroute 命令有所帮助,如果有问题可以在下方评论区与我讨论!
- Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。每个用户账号都拥有一个唯一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己... Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。每个用户账号都拥有一个唯一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己...
上滑加载中
推荐直播
-
OpenHarmony应用开发之网络数据请求与数据解析
2025/01/16 周四 19:00-20:30
华为开发者布道师、南京师范大学泰州学院副教授,硕士研究生导师,开放原子教育银牌认证讲师
科技浪潮中,鸿蒙生态强势崛起,OpenHarmony开启智能终端无限可能。当下,其原生应用开发适配潜力巨大,终端设备已广泛融入生活各场景,从家居到办公、穿戴至车载。 现在,机会敲门!我们的直播聚焦OpenHarmony关键的网络数据请求与解析,抛开晦涩理论,用真实案例带你掌握数据访问接口,轻松应对复杂网络请求、精准解析Json与Xml数据。参与直播,为开发鸿蒙App夯实基础,抢占科技新高地,别错过!
回顾中 -
Ascend C高层API设计原理与实现系列
2025/01/17 周五 15:30-17:00
Ascend C 技术专家
以LayerNorm算子开发为例,讲解开箱即用的Ascend C高层API
回顾中
热门标签