Linux内核引用计数
众所周知,C/C++语言本身并不支持垃圾回收机制,虽然语言本身具有极高的灵活性,但是当遇到大型的项目时,繁琐的内存管理往往让人痛苦异常。现代的C/C++类库一般会提供智能指针来作为内存管理的折中方案,比如STL的auto_ptr,Boost的Smart_ptr库,QT的QPointer家族,甚至是基于C语言构建的GTK+也通过引用计数来实现类似的功能。Linux内核是如何解决这个问题呢?同样作为C…
众所周知,C/C++语言本身并不支持垃圾回收机制,虽然语言本身具有极高的灵活性,但是当遇到大型的项目时,繁琐的内存管理往往让人痛苦异常。现代的C/C++类库一般会提供智能指针来作为内存管理的折中方案,比如STL的auto_ptr,Boost的Smart_ptr库,QT的QPointer家族,甚至是基于C语言构建的GTK+也通过引用计数来实现类似的功能。Linux内核是如何解决这个问题呢?同样作为C…
1、进程的状态和装换 1.1进程的三态模型 按进程在执行过程中的不同情况至少要定义三种状态: 运行(running)态:进程占有处理器正在运行的状态。进程已获得CPU,其程序正在执行。在单处理机系统中,只有一个进程处于执行状态; 在多处理机系统中,则有多个进程处于执行状态。 就绪(ready)态:进程具备运行条件,等待系统分配处理器以便运行的状态。当进程已分配到除CPU以外的所有必要资源后,只要再…
Linux Kernel 序列文件接口实战 1.PROC文件系统简介 2.seq_file 2.1简介 2.2重要的数据结构 3.代码实例 3.1实例一 3.2实例二 1.PROC文件系统简介 使用 /proc 文件系统来访问 Linux 内核的内容,这个虚拟文件系统在内核空间和用户空间之间打开了一个通信窗口: /proc 文件系统是一个虚拟文件系统,通过它可以使用一种新的方法在 Linux内核空…
1.查看文件 ls:显示没有隐藏的文件和文件夹 ls -a:显示当前目录下的所有文件和文件夹,包括隐藏的文件 ls -l:显示没有隐藏的文件和文件夹的详细信息 ls -al:显示当前目录下的所有文件和文件夹的详细信息 2.文件详细信息解读 第1列:代表文件的类型。我们常见的是d和-。d代表是目录文件。-代表是普通文件。其他不常见的有。l代表链接文件,b代表块设备。c代表字符设备文件。 第2-10列…
Linux C 字符集转换,UTF-8,GB2312 最近帮朋友写个系统接口的小东东,2个系统字符集不同,一个采用UTF-8,一个采用GB2312,不得已需要转换字符集。转换函数记录如下: #include #include #include #include #define OUTLEN 255 main() { char *in_utf8 = "utf8字符串"; char *in_gb231…
1.环境和工具 linux虚拟机为CentOS-6.5 Xshell远程连接工具 nginx-1.8.0.tar.gz 2.下载nginx的安装包 https://nginx.org/download/ 3.使用Xshell连接linux虚拟机 使用Xhell创建一个新的会话,名称任意(建议也写ip地址)、协议选择ssh、主机为你虚拟机的ip地址、点击确定 在Linux主机上,安装上传下载工具包r…
增加下面几行,指定smtp服务器和发件发件账号 vim /etc/mail.rc set from=testxxxx@xxxwm.com set smtp=smtp.xxxwm.com set smtp-auth=login set smtp-auth-user=test_app set smtp-auth-password=Xxxxxxx 启动postfix服务 #postfix start 发…
Mysql数据库的安装对于开发者来说,是我们必然会面对的问题,它的安装过程其实并不复杂,并且网络上的安装教程也非常多,但是对于新手来说,各种不同形式的安装教程,又给新手们带来了要选择哪种方式进行安装的难题,而且很多时候按照教程也没有能够安装成功,安装过程出现各种各样的错误。 下面记录了我在Linux(Centos 7)环境下安装Mysql的完整过程,实操记录,绝非水文,如有错误或遗漏,欢迎指正。 …
我试图将新主机添加到CentOS集群中.它安装失败&在状态中给出“安装失败.无法检测到root权限”. 我知道Cloudera需要用户拥有无密码权限(“安装Cloudera软件包需要Root访问主机.此安装程序将通过SSH连接到您的主机,并以root用户身份或以无密码sudo的其他用户身份登录/ pbrun特权成为root.“).我怎样才能做到这一点?我试着编辑/ etc / sudoer…
这个系列的Linux教程主要参考刘遄老师的 《Linux就该这么学》 。用的系统是RHEL8,如果遇见一些命令出现问题,请首先检查自己的系统是否一致,如果不一致,可网上查一下系统间某些命令之间的差异。 目前设计的这个Linux学习系列的目录如下:(会陆续更新~) Linux 学习系列一:Linux的简单介绍以及命令行的基本操作 Linux 学习系列二:Linux中的常用命令 Linux 学习系列三…