操作系统-设计与实现
前言 因为比较欠缺计算机基础知识,这里特别选取了南京大学蒋炎岩老师的《操作系统:设计与实现》,从而从理论和实践两方面,补全操作系统相关的知识 这些博客将简单记录重要的理论知识,以及全部的相关实验和实验心得,作为成长道路上的积累
M1打印进程树实验背景 在Linux中,everything is a file。因此操作系统的状态也可以成为文件系统的一部分——在保持文件系统基本API没有变化的基础上,添加相关对象管理操作系统的状态信息。
实验描述
实验要求:实现pstree,打印进程之间的树状的父子关系
Linux系统中可以同时运行多个程序。运行的程序称为进程。除了所有进程的根外,每个进程都只有唯一的父进程,你的任务就是将这颗树在命令行中输出。你可以自由选择展示树的方式。
总览 1pstree [OPTION]...
描述 把系统中的进程按照父亲-孩子的树状结构打印到终端
-p —show-pids:打印每个进程的进程号
-n —numeric-sort:按照pid的数值从小到大顺序输出一个进程的直接孩子
-V —version:打印版本信息
你可以在命令行中观察系统的p ...
调用汇编代码符号
前言 这里遇到了一个相关的CTF习题,看到其WP中的思路不错,特别学习一下
题目 其是picoCTF的asm4,题目要求获取调用asm4("picoCTF_a3112")的结果,其中附件代码如下所示 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758asm4: <+0>: push ebp <+1>: mov ebp,esp <+3>: push ebx <+4>: sub esp,0x10 <+7>: mov DWORD PTR [ebp-0x10],0x246 <+14>: mov DWORD PTR [ebp-0xc],0x0 <+21>: jmp 0x ...
深入了解const
前言 之前在学习C++的时候,对于const等相关概念了解的不是很清楚,最后在使用时就很痛苦😖 这次彻底的总结一下const相关的知识点
阅读变量声明 实际上,const位于变量声明的不同位置,会产生不同的作用。因此,首先我们需要学会如何阅读变量的声明语句,从而了解变量的具体类型,获取const修饰的对象,才能知道其作用。
这里我们依照由右至左规则,可以有效的分解变量的类型。
整个由右至左规则如下所示:
从变量名称开始
向右依次列出所有的关键词,直到遇到不匹配的右括号或者结束停止
向左依次列出所有的关键词,直到遇到不匹配的左括号或者结束停止
如果因为括号停止,则跳出括号,重新执行步骤2.
这里我们举一个比较有挑战性的例子
1char (*(*x())[])();
下面给出按照上述分析的步骤
根据步骤1,找到变量名称x,即 char (*(*x())[])();
根据步骤2
找到(),即 char (*(*x())[])();,因此为无参函数
右边遇到不匹配右括号,结束
根据步骤3
找到*,即 char (*(*x())[])();,因此返回值为指针
左边遇到 ...
manjaro配置
“简单介绍manjaro的安装和配置"
基于Butterfly主题的hexo静态博客
简单介绍基于Butterfly主题的hexo静态博客的搭建