文件系统相关

来源:互联网 发布:淘宝人气女装店铺 编辑:程序博客网 时间:2024/06/05 05:48

1. 备份MBR: dd  if=/dev/sda of=$YourBackupDevicePath/sda.mbr.back  bs=512  count=1

2.swap分区 = Windows的pagefile.sys

3.可以用ls –al命令来观察文件的权限,每个文件的权限都用10位表示,并分为四段,其中第一段占 1 位,表示 文件类型 ,第二段占3位,表示 文件所有者 对该文件的权限可以用ls –al命令来观察文件的权限,每个文件的权限都用10位表示,并分为四段,其中第一段占1 位,表示文件类型,第二段占3位,表示文件所有者对该文件的权限

4.nfs通过nfs_direct_read_schedule中调用rpc实现远程读写

5. 内核和用户态之间传输数据有3种方法

    buffered---io管理器负责user buffer<-->system buffer之间拷贝

    direct---input的时和buffered方式一样;output时,锁定用户态内存,并获取用户态内存的system address,直接使用用户态内存

    neither---io管理器既不负责user buffer system buffer之间的映射、拷贝,也不校验user buffer,一切由手工处理

6. Linux系统初始化的函数定义在include/linux/init.h中

#define core_initcall(fn) __define_initcall("1",fn)
#define postcore_initcall(fn) __define_initcall("2",fn)
#define arch_initcall(fn) __define_initcall("3",fn)
#define subsys_initcall(fn) __define_initcall("4",fn)
#define fs_initcall(fn) __define_initcall("5",fn)
#define device_initcall(fn) __define_initcall("6",fn)
#define late_initcall(fn) __define_initcall("7",fn)

#define __initcall(fn) device_initcall(fn)

#define module_init(x) __initcall(x);

由此可见,module_init即优先级为6的initcall

这些函数由do_initcalls在系统初始化时调用

             ^

              |

all in main.c

7. clone fork vfork创建进程

              |

             V

sys_fork sys_clone sys_vfork

              |

             V

do_fork copy_process

kernel_thread 即do_fork(flags|CLONE_VM|CLONE_UNTRACED, 0, &regs, 0, NULL, NULL);

8. 进程0,idle进程,swapper进程         当没有其他进程处于TASK_RUNNING状态时,调度程序执行idel进程

进程1,init进程

9. 进程的state

#define TASK_RUNNING 0
#define TASK_INTERRUPTIBLE 1
#define TASK_UNINTERRUPTIBLE 2
#define TASK_STOPPED 4
#define TASK_TRACED 8
#define EXIT_ZOMBIE 16
#define EXIT_DEAD 32

all in sched.h


0 0
原创粉丝点击