linuxc学习笔记
wenshizhang
这个作者很懒,什么都没留下…
展开
-
ps aux命令显示的状态列中的状态(转)
D 不可中断 Uninterruptible sleep (usually IO) R 正在运行,或在队列中的进程 S 处于休眠状态 T 停止或被追踪 Z 僵尸进程 W 进入内存交换(从内核2.6开始无效) X 死掉的进程< 高优先级N 低优先级L 有些页被锁进内存s转载 2015-10-16 13:34:45 · 633 阅读 · 0 评论 -
写自己的内核模块——获取一个进程的物理地址
首先,根据一个虚拟地址是可以得到物理地址的,这个内核模块是可以做到的。 大概就以下这几步: 1、得到当前进程的task_struct结构体(类似于current宏的实现) 2、得到进程的mm_struct结构体 3、搞一个虚拟地址(一个变量的地址或者一个函数的地址) 4、先得到pgd,然后根据pgd找到pud,根据pud找到pte,当当当当,你得到了该变量(或者函数)所在页面的页表表项地址原创 2015-11-07 15:14:56 · 2860 阅读 · 2 评论 -
ubuntu下设置一个wifi热点
我使用的是ap-hotspot,比较简单,命令行一共就三四步的样子。先来提一下配置的方法,然后讲我遇到的问题。 第一步:安装hoseapd和ap-hotspot。sudo apt-get updatesudo apt-get install postapdsudo apt-get install ap-hotspot第二步:配置ap-hotspotsudo ap-hotspot configu原创 2015-10-11 11:25:47 · 1710 阅读 · 0 评论 -
ubuntu中孤儿进程的父进程pid并不是1??
刚刚写了一个孤儿进程,顺手打印了他的ppid,居然发现不是1,什么鬼??!!! 因为在发现这个结果之前这个进程已经跑了很多遍了,新fork的进程都没有退出,以为是因为这个原因所以结果跟我想的一样。 然后sudo reboot,接着运行发现运行结果孤儿进程的ppid并不是1,ps aux发现这个代替了init进程来接管孤儿进程的进程名字叫做init–user,重启了几回都是这原创 2015-09-22 21:58:22 · 3544 阅读 · 4 评论 -
我看task_struct结构体和do_fork函数
先来看看task_struct结构体。 众所周知,task_struct结构体是用来描述进程的结构体,进程需要记录的信息都在其中,下面我们来看看其中的具体项目。结构体存储在linux/sched.h中。 具体的字段有volatile long state; void *stack;...struct task_struct __rcu *real_parent;struct task_s原创 2015-10-15 17:32:39 · 1350 阅读 · 0 评论 -
bochs使用手册
对于每一个尝试自己写计算机开机引导甚至是一个操作系统的人来说bochs是一个很好用的工具,强大的调试功能以及自带的制作虚拟盘的工具都是亮点。 和大多数人一样,初次接触这个工具难免会比较生疏,所以要把很常用的命令记录下来,以便查看。 本手册不定期更新。1、如何运行自己的扇区引导1)、自己写好的扇区引导用nasm编译成.bin为后缀的纯二进制文件。(nasm是一个很强大的编译工具,他可以直接把汇编源原创 2015-11-25 21:49:51 · 3001 阅读 · 0 评论 -
当我们谈论开机的时候我们都在谈论什么(二)——保护模式
本文所谈论到的cpu是Intel的x86体系架构的cpu,作者才疏学浅,其他体系的暂不讨论。读者可以未经作者允许随意转载,但请注明出处并且保证文章的完整性本文主要谈一下几个方面: 1、保护模式和实模式是个什么鬼 2、怎么由保护模式进入实模式 3、实模式跳转到保护模式的示例代码在讲之前照例讲几句闲话: 1、实模式是操作系统之源,没有它,操作系统就是无本之木、无水之源 2、现在操作系统的书很少原创 2015-12-05 11:48:29 · 922 阅读 · 0 评论 -
APUE阅读笔记(十)——信号
说明:1、信号真的看的很模糊 2、但是还是要坚持看概念 产生信号的进程是异步随机的,信号产生了以后我们常常对信号做以下三种操作:1、捕捉信号 我们可以在程序里用signal函数设置一个信号的操作方式,如果要捕捉这个信号,signal函数的第二个参数设置位一个返回值位void,参数是int的函数指针,这样就相当于通知内核,如果该信号产生了,调用这个函数进行处理。 SIGKILL和SIGSTOP信原创 2016-04-27 09:35:35 · 739 阅读 · 0 评论 -
APUE阅读笔记(九)——进程关系
说明:1、此章较为简单,但是概念很多,记忆比较困难进程组 进程组是一个或者多个进程的集合,每一个进程组有一个唯一的进程组ID,进程组ID也就是组长进程的PID。同一组进程可以接受来自同一个终端的信号。 一个进程组从创建开始到最后一个进程结束这段时间被称为进程组的生命周期。会话 会话是一个或者多个进程组的几个,一个用户登陆一个终端创建一个会话,在用户登陆期间,创建的所有进程属于同一个会话,而完成同原创 2016-04-27 10:09:25 · 461 阅读 · 0 评论