自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小灰笔记

学习笔记,仅用于自我参考回忆!

  • 博客(26)
  • 收藏
  • 关注

原创 584_linux内核学习do_exit函数分析

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 继续看exit.c代码,这次看do_exit函数。 关于函数的调度,还得在后面的代码中继续分析。 总体感觉应该是针对于用户应用程序的。里面涉及到几个概念没有弄明白,如果这样下去,这个内核代码可能还得再看第二轮啊!...

2021-03-31 22:44:08 585

原创 583_linux内核学习_has_stopped_jobs函数分析

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 继续分析exit.c文件,这次看一下has_stopped_jobs函数。人得跟随潮流,以后也要去用一下新鲜的东西,再接下来的一段时间内,让emacs退居二线,只作为我自己的任务管理工具。而开发,跟代码打交道的时候,用一下VS Code。 整体的思想其实很简单,看起来,操作系统中很多的处理都是状态机,各种查询跳转。这个状态机,处理的...

2021-03-31 21:55:19 298

原创 582_linux内核学习_检查一个进程组是否是孤立进程组

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 其实,整个逻辑还是比较明确的。什么情况下是一个孤立进程组呢?那就是,查找了全部的任务,符合“任务的父任务用户组与传入用户组不同并且两个对话还是相同的”这个条件。 如果上面的条件,查找了全部任务一个都找不到成立的,那么这个就是出现了孤立的进程组。 我多少有一点不理解,为什么这个会是一个比较麻烦的事情。而从上面的注释...

2021-03-30 22:16:09 262

原创 581_linux内核学习_exit中的杀进程函数以及系统kill函数

全部的学习汇总: https://github.com/GreyZhang/little_bits_of_linux 这次打包,看2个接口。如果单纯一个接口可能会太少了,一起看两个吧! 这个函数的名称基本上没有什么大的问题,主要是带着权限以及相应的信号处理相应的进程。 这个函数的名字其实有点问题了,而之前我的疑惑可能也是因为这个接口的名字。这估计也是为什么shell命令中信号发送的命令是kill吧! 其...

2021-03-30 21:44:58 381

原创 580_linux内核学习_exit中两个进程以及进程组函数分析

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 这次看两个进程以及进程组相关的接口实现。 其实,这个总体的设计思想还是很简单的,就是一个遍历查询。 感觉上,这个应该就是把一个信号向任务组中符合条件的任务发了一轮。 这里的err,其实有点不好理解。我个人的感觉是这个定义的地方,逗号运算符的行为与现在我用的平台以及工具的定义是不同的。...

2021-03-30 21:25:12 312

原创 579_linux内核学习_exit中的send_sig函数分析

全部的学习汇总: https://github.com/GreyZhang/little_bits_of_linux 继续分析这个额exit.c的文件,这次看一个比较简单的函数,send_sig。 这是一个内联函数,也是一个静态的函数。应该是考虑了效率以及访问的保护。这个函数大概看一下,基本上是一个信号的状态修改动作接口。 这个函数里面考虑了一些简单,比如说信号的忽略检查。其中应该有两个信号,涉及到任务的停止切换,比较特殊。...

2021-03-30 21:19:14 864

原创 578_linux内核学习_audit_ptree函数分析

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 继续看内核代码,这次看一个很有意思的调试检测函数,audit_ptree。最初看这个函数的时候有点蒙圈,但是把树状结构的关系结合社会关系做一个类比,其实理解起来很容易。 这个函数基本就是用来做测试的,毕竟是对一系列任务进行扫描检查,数量不小。 首先需要确认的是一切任务(包括父子进程)都应该在列表之内,或者为空...

2021-03-28 21:48:30 315

原创 577_linux内核学习_bad_task_ptr函数分析

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 结合之前采用的一个模型或者说思维模式,其实这个解释很容易。直接贴出我增加了注释的代码如下: 其实,在前面的release函数中,这个函数其实是可以用一下的。但是,看上去是没有用到。 其实,看起来还是不能直接用的。因为这个函数只能够判断有效性,但是无法找到接下来需要处理的地下交通站在哪里。...

2021-03-26 22:37:27 284

原创 576_nanopi neo3 openwrt固件的web配置功能小结

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux我个人体验,其实官方提供的两个基础的固件,openwrt还有ubuntu core。两个我都大概用了一下,其实在稳定性上我是偏向于openwrt这个固件的。固件非常小,而且表现比较稳定。为了具体说明两个的稳定性差异,梳理一下我遇到的问题。ubuntu core使用中的问题梳理:1. 镜像超过8GB,这个其实也不算是什么问题,但是官方wiki中说8GB的卡就可以,如果...

2021-03-26 22:31:29 1464

原创 575_linux内核学习_release函数分析

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 大概看了一下release的设计实现,我做了一个类比的注释。 其实,这种设计很类似于地下党组织的单线联系模式,也有点家庭社会群体的概念形式。根据这种类比,就比较容易理解了。 软件的调用也是很明确的,其实就是出现了僵尸进程的时候。对于僵尸进程,我现在的理解还比较肤浅,看起来对于这个函数真正使用的情况还得后面分析...

2021-03-26 22:00:32 507

原创 574_watch命令的使用

全部学习汇总: https://github.com/GreyZhang/bash_basic之前,为了监控树莓派上的温度并且实时更新,我还写过一个简单的小脚本。脚本中没有什么真材实料,只是通过python接口定时调用系统的命令接口而已。今天接触到了一个命令watch,感觉用来做这个工作太合适了,而且还有更好的感官体验。这次的测试我是在nanopi neo3上测试的,系统是ubuntu core。整体体验上,其实这个小机器的性能还是不错的,只是摸着有点烫手。这个也是我又重新来查看温度的一个原因。

2021-03-25 21:30:44 368

原创 573_玩客云安装qbittorrent

全部学习汇总:工具安装比较简单,但是网络上看到很多说法说这个得安装docker。关于工具的安装,直接执行如下命令:apt-get install qbittorrent-nox安装成功之后,运行qbittorrent-nox -d之后,可以通过8080端口在浏览器中访问。访问的方式可以使用Ip,也可以使用主机名。访问的效果如下:输入账号密码即可使用,账号admin,密码adminadmin。登录之后的效果:可以添加链接或者BT种子来下载资源。这个比较好的一个功

2021-03-21 11:38:14 5282

原创 572_一加手机7上安装sz以及rz工具

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 如果即时传送一些小文件,sz和rz还是很有用的,我这边尝试安装还是成功了的。安装方式也很简单,直接下载代码然后编译即可。 wget http://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz 运行以上命令,获取软件包。 tar zxvf lrzsz-0...

2021-03-07 15:41:24 382 1

原创 571_一加手机7上尝试搭建一个简单的C开发环境

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 前面,在手机上安装了termux的环境。尝试安装了一批软件,这一次比较幸运完成了我一直想安装的emacs。看了一下,版本还是挺高的。 接下来,尝试安装下spacemacs,我直接把我自己以前用的文件包放进来。 解压缩,待会清除掉在windows上编译的elc文件,直接启动。 space...

2021-03-07 15:36:20 362

原创 570_termux中实现与安卓系统之间的文件共享

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 之前发现,termux的文件无法实现与安卓之间的共享。本来以为是必须要root之后才可以,后来查看了下发现本身其实termux就可以支持。 只要输入 termux-setup-storage 之后,提示确认即可。会提示相应目录会被清空。我这边也就不再进行第二次演示做记录。之后,会生成如下的目录:...

2021-03-07 14:25:14 4820

原创 569_termux下查看一加7手机的配置信息以及基本系统信息

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 在一加手机7上再度安装了termux,部署了ssh服务。接下来你看看手机的基本情况: 首先,lsb_release的命令不支持,可能少安装了一些软件包吧。这部分信息暂且不看了。接下来,先看看处理器。 看上去,的确是比树莓派赏心悦目多了。我好奇,这个功耗会是多少? 看一下任务的基础情况,而存...

2021-03-07 13:00:13 1286

原创 568_termux工具安装信息以及基于此实现ssh远程访问安卓

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 这个,其实算是我学习树莓派的续篇。 为什么想考虑这样的一个功能实现呢?其实我想实现手机与PC之间的文件互传,并且我不想用数据线。我目前家中的网络有树莓派搭建的NAS和一个群晖,第一步的考虑自然是先利用群晖。以往,我也用过,但是后来发现我遇到了一个问题:好几种方式下,群晖的各种终端工具都把文件的数目限制在了1000个。而我这次想要传输的是...

2021-03-07 12:27:09 782

原创 567_linux内核学习_signal.c文件的泛读与分析

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 这次,把signal.c的文件全都看一下,粗略泛读。后面应该也是这么个模式,不会像之前分的那么细了。 这一部分,其实之前是看过了的。 这部分,前面也看过了。主要是信号挂起的处理,我觉得技巧点应该是在于形参处理与寄存器操作的结合。 这两个函数,从命名看的话我们需要站在内核的角度来看。存储...

2021-03-07 11:20:23 369

原创 566_linux内核学习_信号挂起函数分析

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 看一下信号挂起函数的设计: 首先是函数的注释说明。 接下来看看函数实现。 关于函数的调用,在代码中搜索,其实又回到了汇编代码的那一部分。 还是通过对这个系统调用表的处理来实现的。 感觉上,这里面的寄存器的信息获取,很可能是把函数的参数获取到了...

2021-03-07 11:16:04 380

原创 565_C语言中关于减号操作符使用的一点小细节以及曾经的误解

全部学习汇总: https://github.com/GreyZhang/c_basic 看到了一段代码: 上面这段代码来自于linux早期的内核代码,而让我突然间觉得不适应的是71行,在一个宏定义前面直接增加了一个符号。这样,合理吗?当然是合理的,只是我自己没有这么用过而已。 其实,我们可以缩减一下代码,做一个简单的demo。 也就是这个样子了,做一个编译测试: 其实,看到结果...

2021-03-06 16:25:50 2219

原创 564_linux内核学习_信号掩码的获取以及设置

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 这一次开始看信号的设计模块文件,signal.c。这个模块的设计,用到了很多POSIX的接口设计。而信号的一些数据结构的定义,其实是在POSIX相关的库文件里面提供的。 关于信号的一些设计,主要是在11行包含的这个头文件里面进行的声明或者定义。 接下来,先看两个最简单的函数,作为这个模块学习的一个开篇。...

2021-03-06 14:24:35 375 1

原创 563_linux主机之间使用命令行进行文件拷贝

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 想把自己NAS上的文件转一部分到挂载在树莓派上的硬盘,本来想先拷贝到windows之后再拷贝到的树莓派的samba。后来想想麻烦,应该有什么网络的传输方式才对。 试了一下samba,没有成功挂载磁盘。找了一个单个文件测试ssh的scp倒是成功了。接下来,直接做一个拷贝。 我还是使用之前的tmux,只要是看到有拷贝动作...

2021-03-06 11:49:08 265

原创 562_debian buster中尝试修改时间

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux玩客云的armbian现在用着还是有些问题,一个典型的问题就是时间不对。其实,我的时间大概落后了三个小时。使用timedatectl list-timezones可以列出系统支持的时区设置。至于我要选择的,应该是东八区。东八区的时区代表应该是这里的亚洲香港。接下来,尝试设置时区:timedatectl set-timezone Asia/Hong_Kong。设

2021-03-02 21:18:23 1082

原创 561_尝试分析NAS自动重启的原因

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux这可能是我尝试解决我遇到得linux服务的第一个问题,借助于网络上的各种资料。而且,还不一定能够解决,但是我觉得这种尝试的经历还是值得去记录一下的。我整了一个armbian的NAS,使用的过程中学会了使用top命令,这个命令除了可以提供给我一般的进程信息之外,还能够让我看到开机时间。而且,只要是ssh首次连接,我也能够看到这个开机时间。但是,我有点好奇的是我的树莓派持续很多天不关机其实是

2021-03-02 21:15:10 2296

原创 560_linux内核学习_sched.c文件sched_init函数分析

全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux 今天看看这个sched.c的文件中的sched_init函数,且不说能够收获什么,看完这个函数肯定能够让我松一口气。看完这个,这个文件的分析学习也就到此为止了。 首先应该是有一个数据类型应该是先了解看看: 应该说是一个结构体而不是一个数据类型了,具体的定义如下: 这里定义了一个数据类型,其...

2021-03-02 00:11:11 766

原创 559_使用iostat查看磁盘的读写情况

全部学习汇总: https://github.com/GreyZhang/little_bits_of_raspberry_pi 前面,安装并使用过iotop,基本能够看得出磁盘的读写情况,实时显示。今晚上看到了一个新命令,iostat,测试了一下老母鸡的armbian是内置的。 我想在树莓派上用一下发现没有这个名,尝试做了安装。安装需要通过sudo apt-get install sysstat,效果如下: 之后,输入ios...

2021-03-01 22:33:30 910

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除