首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

linux源码epoll

前言 在linux的高性能网络编程中,绕不开的就是epoll。和select、poll等系统调用相比,epoll在需要监视大量文件描述符并且其中只有少数活跃的时候,表现出无可比拟的优势。...本文就是笔者在探究epoll源码过程中,对kernel将就绪描述符添加到epoll并唤醒对应进程的一次源码分析(基于linux-2.6.32内核版本)。...源码socket的阻塞和非阻塞>>中,博客地址如下: https://my.oschina.net/alchemystar/blog/1791017) 既然知道了tfile->f_op->poll的实现...的软中断机制调用net_rx_action,如下图所示: 注:上图来自PLKA(>) step2: 紧接着跟踪next_rx_action next_rx_action...总结 epoll作为linux下非常优秀的事件触发机制得到了广泛的运用。其源码还是比较复杂的,本文只是阐述了epoll读写事件的触发机制,探究linux kernel源码的过程非常快乐_。

2.2K20

从代码审查视角软件质量

理论基础 软件质量是软件与明确地叙述的功能和性能需求、文档中明确描述的开发标准以及任何专业开发的软件产品都应该具有的隐含特性相一致的程度。...影响软件质量的整体的因素有:软件需求缺陷、软件架构设计缺陷、编码缺陷、文档缺陷、错误地修复功能问题。 一个高质量的软件产品,离不开整个团队多个角色的配合,那么真正关注软件质量的角色主要有那些呢?...下图罗列我哦认为在软件质量问题上最为关注的三个角色。 软件质量基础 软件质量从软件开发者的视角,它主要细分为:过程质量、结构质量、功能质量。...过程质量这个主要涉及到:及时的交付软件、不超出软件开发成本预算、可信地交付软件。 结构质量这个主要涉及到:代码的可维护性、代码的可理解性、代码性能、代码安全性、代码可测性。...总结 提高软件质量是作为开发人员的一个很重要的指标,通过多维度的论述软件质量问题,并且从软件开发者视角讨论如何写出高质量的软件

86450

软件工程角度测试

这是软件工程系列的第六篇文章,我想从软件工程的角度来谈谈关于软件测试的一些话题。 软件工程的核心 软件工程简单来说就是多人参与、有计划有步骤的构造一个符合质量标准的软件产品的过程。...软件工程出现的初衷,就是为了摆脱软件质量危机,其核心内容是要用工程化的方法去规范软件开发,让软件开发项目可以按时保质完成的同时且成本可控。...软件测试的本质 记得刚开始从事软件测试工作时,那个时候测试的岗位很多企业的定位是QC,就是质量检测和控制。...而软件测试则是通过一系列手段来验证最终的交付产出物是否达到预期的质量标准。那么,谁该对软件质量负责呢? 谁对软件质量负责?...按照软件质量=功能质量+代码质量+过程质量公式,应该由如下三种角色对软件质量负责。

24030

版也有软件开发环境?

15 2023-08 版也有软件开发环境?...既然提到了看板的环境,那就得先说说软件开发环境的相关概念: pro环境: 生产环境,面向外部用户名思义,是指程序开发时所用的环境。...怎么用软件开发的思路做看板 很多时候,我们在做数据看板的开发的时候是不会参照软件开发的思路进行开发的。 一个显而易见的道理,数据看板是要服务于客观真实的数据的。...一般来说,dev环境的数据是非常少的,刷新一次非常快,不然改一个逻辑,刷新用了半小时,一,改得不对,不是很崩溃么?...PRD环境的就是真正分发给报表用户的,要保持相对的稳定,出现问题需要及时干预和解决。 一个有意思的事情是,看板的DEV/UAT/PRD和数仓不一定同步。

16310

linux 软件安装

创建小环境:-n 指定小环境的名字 rna,并指定环境的python版本为python=3 conda create -y -n rna python=3 创建小环境成功后会出现3个done 图片 三、安装软件...图片 1.安装软件的方法: 图片 安装 conda install 出现三个done 显示安装完成 图片 2.安装特定版本 图片 3.特殊情况 图片 4.查看conda 环境中已经安装的软件...conda list #基本用法 conda list fast #查看符合正则表达式的软件 conda list -n rna #查看指定环境的软件 5.删除软件 conda remove conda remove -n rna #删除指定环境里的软件 6.常用命令 图片 7.安装软件的另一种方式:用yml文件安装 • 导出当前环境: conda env export...envname > env.yml • 导入环境: conda env create -n envname --file env.yml 8.mamba 安装软件更加丝滑 #安装mamba conda

20420

Linux软件管理

Linux 软件管理 1、软件管理简介 Redhat和Centos中软件管理是依靠软件包管理器(RPM)来实现的。...RPM(Redhat Package Manager)软件包管理器提供了在linux操作系统中安装,升级,卸载软件(程序)的方法,并提供对系统中所有软件(程序)状态信息的查询;除了这些功能外,RPM软件包管理器还提供了制作软件包的功能...2.2 软件包管理器的核心功能 制作软件包 安装软件 卸载软件 升级软件 查询软件 校验软件 3、软件包简介 3.1 软件包组成 软件包的组成清单 文件清单 安装或卸载的运行脚本 数据库(公共) 程序包名称及版本...6.1 系统发行版本的光盘 linux的ISO镜像文件自带了非常多的RPM安装包,且这些软件版本是最适合当前linux系统的。...############# [100%] [root@zsl ~]# rpm -qa | grep wget wget-1.19.5-10.el8.x86_64 升级注意事项 不要对内核做升级操作 Linux

4K10

LINUX 安装软件

Yum软件仓库便是为了进一步降低软件安装难度和复杂度而设计的技术。Yum软件仓库可以根据用户的要求分析出所需软件包及其相关的依赖关系,然后自动从服务器下载软件包并安装到系统。...yum info 软件包名称查看软件包信息yum install 软件包名称安装软件包yum reinstall 软件包名称重新安装软件包yum update 软件包名称升级软件包yum remove...1.5 系统初始化进程Linux系统的开机过程是这样的,即先从BIOS开始,然后进入Boot Loader,再加载系统内核,然后内核进行初始化,最后启动初始化进程。...初始化进程作为Linux系统启动后的第一个正式服务,它需要完成Linux系统中相关的初始化工作,为用户提供合适的工作环境。同学们可以将初始化进程粗犷地理解成从我们按下开机键到看见系统桌面的这个过程。...Linux系统在启动时要进行大量的初始化工作,比如挂载文件系统和交换分区、启动各类进程服务等,这些都可以看作是一个一个的单元(unit),systemd用目标(target)代替了System V init

7.4K30

Linux 软件管理

yum -y install 软件包 安装软件过程中出现依赖安装的时候 Linux系统会暂停提示y或n,则-y 含义是回答全部问题为是 yum -y install nginx 已加载插件:fastestmirror...14.gif – 删除无用孤立的软件包 用处:当没有软件再依赖它们时,某一些用于解决特定软件依赖的软件包将会变得没有存在的意义,该命令就是用来自动移除这些没用的孤立软件包。...”Educational Software”这个软件包组) 命令:# dnf groupinstall ‘Educational Software’ – 升级一个软件包组中的软件包 用处:该命令用于升级一个软件包组中的软件包...’ – 从特定的软件包库安装特定的软件 用处:该命令用于从特定的软件包库安装特定的软件(本例中我们将使用命令从软件包库 epel 中安装 phpmyadmin 软件包) 命令:# dnf –enablerepo...但在我看来,正因如此,所以 DNF 包管理器不会太受那些经验老道的 Linux 系统管理者的欢迎。举例如下: 在 DNF 中没有 –skip-broken 命令,并且没有替代命令供选择。

4K30

软件测试中常用的linux命令_软件测试linux

linux常用shell命令=命令+选项+参数 find 查找文件/目录 cd (change directory)切换目录 cd #root根目录 cd / #...apt-get install 软件/包 #安装包 apt-get update 软件/包 #更新软件 apt-get remove 软件...aaaaa”,追加到名为tet文档的最后 echo dddd > tet 用字符串“dddd”替换原来tet中所有的文档 ls >> tet 将ls指令显示的内容追加到文档tet中 ps -ef 查看linux...ps -ef | grep www* 查看所有带www的进程 kill -9 进程号 可以关掉对应的进程 kill -15 进程号 等该进程运行完就关闭该进程 apt-get install 软件包名...下载并安装对应的软件包名 useradd daxia 新增一个名为daxia的用户 passwd daxia 设置daxia用户的密码 su daxia 切换到daxia用户 whoami 查看当前用户

15.3K21

从 Serverless 软件效能提升 | 深度好文

以下内容来自「云+ 社区技术沙龙 - 云原生专场:《从 Serverless 软件研发效能的变革》」,深度好文,预计阅读需 35 分钟。...研发效能提升的目标和阻力 1.1 研发效能治理的目标 首先我们看一下典型的 SaaS 软件商业模式,无论是 SaaS 软件初创公司还是企业内部一个新兴的业务,一开始都会面临这样一个假设性问题:如果这个问题得到解决...扩大规模:当形成一定市场规模后,企业会努力扩大规模,在这一阶段,我们考虑更多的是软件的灵活度,是否可以满足潜在客户的定制化需求。...因为我们认为符合规范的代码可以去提升软件的维护性,可以降低问题到解决方案的成本,所以我们要坚持代码符合规范;由于人工测试效率较低,在软件规模扩大时,我们认为通过引入自动化测试可以更加高效地验证解决方案和问题的匹配度...软件架构设计 可能有些同学会质疑:「基础设施的问题,似乎与研发没有什么关系」。但对于解决方案的复制,思考的视角不应该仅仅停留在基础设施级别,软件架构的设计也同样重要。

44750

Linux基础(软件安装)

Linux中,安装软件通常有三种途径:既可以使用安装包,也可以借助于APT,还可以从源码安装。他们各有特点,操作方式也不尽相同。...Linux下的软件既可以是软件安装包,就像windows一样,也可以是源码包。...而对于安装包而言,不同的Linux发行版所使用的格式不一样,比如RedHat使用的是yum格式安装包,Ubuntu则使用deb格式 以Ubuntu为例,安装软件的第一种方法,就是搜索并找到所需要的deb...但是这种办法一般不推荐使用,因为Linux软件一般都只包含最精简的代码,不会包含所依赖的库或者其他函数接口程序,这就导致我们直接安装deb包时常常会发现系统缺少它所依赖的其他库或者服务,不得已需要先安装它们...然而,有时我们需要研究、改造软件源码,在Linux世界中绝大多数的软件都遵循GPL开源条款,我们可以获取源代码并编译他们,例如我们获取了jpeg库的源码,在源码顶层目录中编译安装的三部曲如下: .

6K10

Linux软件安装(三)

软件安装 1.1 软件安装方式 在Linux系统中,安装软件的方式主要有四种,这四种安装方式的特点如下: 安装方式 特点 二进制发布包安装 软件已经针对具体平台编译打包发布,只要解压,修改配置即可 rpm...(安装过程需要联网) 源码编译安装 软件以源码工程的形式发布,需要自己编译打包 1.2 安装JDK 上述我们介绍了Linux系统软件安装的四种形式,接下来我们就通过第一种(二进制发布包)形式来安装JDK...RPM:全称为 Red-Hat Package Manager,RPM软件包管理器,是红帽Linux用于管理和安装软件的工具。...系统中文件上传下载的软件。...实际上是这样的,Linux的远程连接工具有很多,而finalShell只是其中的一种,而还有很多的远程连接工具并没有上传下载的功能,这个时候就需要依赖于lrzsz这个软件了。

3.5K50

Linux软件安装

而在Linux下安装软件难度高于Windows、Android、ios和windows phone下软件安装。下面我就详细讲解Linux下如何安装软件。...Linux软件的安装大概可以分为如下几种: 1....源码安装 3.2 二进制安装 Linux下二进制格式的软件是指事先已经在各种平台编译安装好相关软件,然后压缩打包,在安装时只需解压或者执行安装可执行文件即可。...3.7.3.1下载解压源码 linux软件的源码一般都是C或者C++语言编写的,并且都会在软件的官方网站上提供源码包下载,例如apache开源项目的官方网站为http://www.apache.org...、授权许可、安装需求、安装注意事项、安装方式等等,由于linux各个版本的差异,以及安装环境的不同,软件的安装方式也不尽相同,所以在安装软件前,一定要事先阅读这个README文件,确保安装的正确性。

10.3K20
领券