本专区由 开发技能 团队提供资讯和技术支持,欢迎社区成员申请加入管理小组。
行走代码江湖,怎能没有一把趁手的兵器?本专区包括开发者工具、极客技能、开发库、文档、应用开发、操作系统、编码工具等。
本专区由 开发技能 团队提供资讯和技术支持,欢迎社区成员申请加入管理小组。
背景:性能之战 “不服跑个分”已经沦为手机行业的调侃用语,但是实话实说,在操作系统领域“跑分”确实是最重要的评价方式之一。比如 Linux 内核社区常常以跑分软件得分,来评价一个优化补丁的价值。甚至还有 phoronix 这样专注于 Linux 跑分的媒体。而且今天我还想说一点,让软件跑分高,这是实力的体现,是建立在对内核的深刻理解基础上的。本文的故事就源于一次日常的性能优化分析。我们在评估自动化性能调优软件 tuned 的时... 展开更多
### 前提概要 - **su、sudo、sudo su、sudo -i 的用法和区别?** - **su root 和 su - root 有什么区别?** ### 身份提权 - `su` **只能获得root的执行权限,不能获得环境变量**。 - `su -` **是切换到 root 并获得 root的环境变量及执行权限**。 > **注:用户切换工具(su 和 su - 这两个切换用户是有区别的。)** - su 命令 和 su - 命令最大的本质区别就是: - **前者只是切换了root身份,但Shell环境仍然是普通用户的Shell**... 展开更多
### 内容简介 > **Linux技术专题,主要介绍相关,针对于Linux开发和知识体系的必备开发技能以及基础常识,是开发者必备的知识体系和方法论。** ### 什么是用户、用户组 #### Linux用户 > **Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。** - **用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统... 展开更多
大家好,我是小富~ 最近发现点好玩的工具,迫不及待的想跟大家分享一下。 大家平时都怎么查`Linux`日志呢? 像我平时会用`tail`、`head`、`cat`、`sed`、`more`、`less`这些经典系统命令,或者`awk`这类三方数据过滤工具,配合起来查询效率很高。但在使用过程中有一点让我比较头疼,那就是命令参数规则太多了,记的人脑壳疼。 那查日志有没有一种通用的方式,比如用SQL查询,毕竟这是程序员都比较熟悉的表达式。 今天分享的工具... 展开更多
今天,我们来介绍一下 Linux 对虚拟内存空间管理的细节。 之前我们说过,在 32 位的操作系统中,每个进程都拥有 4GB 的虚拟内存空间。Linux 根据功能上的差异,把整个虚拟内存空间划分为多个不同区间,称为 段。 我们先来看看 Linux 进程虚拟内存空间的布局图,如图 1 所示: 上图展示了 Linux 进程的虚拟内存空间布局情况,我们只关注 用户空间 的布局。 从上图可以看出,进程的用户空间大小为 3GB。Linux 按照功能上的差异,把... 展开更多
本文基于RockPI 4A单板Debian系统Linux 4.4内核DRM框架介绍HDMI接口 EDID获取方法。 一、EDID介绍 EDID(Extended display identification data):扩展显示器识别数据,一般存储在显示器的EEPROM中。 在EDID1.0->EDID1.3版本中,EDID的容量是128Byte,从EDID1.3版本以后,数据容量扩展到256Byte。 一般通过DDC(或I2C)通道读取EDID,从设备地址是0x50。 EDID1.3版本的数据结构见下图: 二、EDID获取 应用程序调用libdrm代码中的... 展开更多
Linux内核中实现工作推后执行的方法有:软中断、tasklet和工作队列(work queue)。 本文介绍工作队列的简单用法。 一、工作任务定义 Linux内核中的工作队列包括:共享工作队列和自定义工作队列。区别如下: 1)共享工作队列:将新创建的工作任务添加到Linux内核创建的全局工作队列system_wq中; 2)自定义工作队列:将新创建的工作任务添加到自己创建的工作队列中; 1、共享工作队列 1)、静态定义 宏:DECLARE_WORK(n, f),文... 展开更多
Linux From Scratch (LFS) 及其后代代表一种新方法,向用户揭示 Linux 操作系统是如何工作的。LFS 基于这样的假设,即一部分一部分地编译完整的操作系统不仅能够揭示操作系统是如何工作的,也允许独立的操作人员为速度、内存占用或安全性而构建系统。 许多作家已经编写了有关 UNIX 风格的书籍,深入研究了调度、内存管理、多进程和线程、文件系统,以及用户与内核之间的交互。写作 Linux 书籍的作家相对于 UNIX 作家来说有一个优... 展开更多
一.前言 当我们接手了一台或者几台服务器的时候,首先我们有必要对服务器的基本配置有所认识,这样才可以对症下药,对以后的软件部署,系统运维会有事半功倍的效果。 二.关于服务器基本配置 查询服务器的基本配置一般查询操作系统,CPU,内存,硬盘,下面进行逐一讲解。 2.1 操作系统基本配置查询 查看操作系统版本 #cat /etc/redhat-release这个命令主要是查看红帽发行的操作系统的版本号 [root@node5 ~]# cat /etc/redhat...... 展开更多
CentOS 8.3 已正式 GA,这是 CentOS Linux 8 的最新版本,rebuild 自 RHEL 8.3。 镜像下载:http://mirror.centos.org/centos/8/isos/ 主要改动 对 Yum repo 文件和 repoid 进行了更改,按照开发团队的解释,主要是为了使 CentOS Stream 作为独立于 CentOS Linux 的发行版运行,以及简化从 CentOS Linux 迁移到 CentOS Stream 的过程。 因此开发团队修改了 /etc/yum.repos.d 目录中某些文件的名字,并更新了 repoid 以进行匹配。... 展开更多
在学习虎书,第二章练习要用lex和yacc,然而作者提供的网址上放的是flex和bison,当然这样更好啦(flex和bison完全兼容lex和yacc)。考虑到在windows下用这两个玩意还要安装masm,所以最后决定上虚拟机(之前操作系统课就装过了,幸亏没卸载哈哈哈)。 Ubuntu下使用sudo apt-get install flex bison命令,不一会就装好了,如图: 然后写了一个测试程序,就用Ubuntu自带的gedit写,保存为.l文件: %% [\t]+ is | am | ...... 展开更多