边学边干Linux内核指导(1)——理解Shell
来源:互联网 发布:远光软件 北京 编辑:程序博客网 时间:2024/06/03 15:00
1.内核初始化过程,所有的函数列表。P26
2.在用户态初始化阶段init程序在每个tty端口上创建一个进程以支持用户登陆。每个进程都运行一个getty程序的拷贝。getty负责验证口令,进入shell
3.Shell的几大功能:
3.1 后台运行
if ((pid= fork() ==0)
execv(buffer, arg);
else{
if (is_back ==0)
waitpid(pid,&status,0);
}
3.2 I/O重定向
每个进程都在内核有自己的文件描述表(fileDescriptor)
用if (dup2(fd_out,STDOUT_FILENO)==-1) 把fd_out所指的file discriptor复制到 STDOUT。复制的文件描述词与原来的共享文件状态
3.3管道
int pipeID[2];
pipe(pipID);
pipeID[0]是一个文件描述符,指向管道的读端。pipeID[1]
父进程创建管道,让两个子进程读写。
4.Shell 脚本
argv1="$1"
set '/sbin/runlevel'
"command"格式的命令:执行command,并把结果替换到该位置
set 用于在脚本文件内设定命令行参数
[ -d /home/t ] []判断 其中的表达式
5.制作linux启动盘
启动分为两大:
1.root盘,所有的文件系统,ext2文件系统。拷贝所有的基本配置文件(rc,inittab,fstab)和基本命令和模块
dd if=/dev/ramdisk bs=1k | gzip -v9 > /rootfs.gz
dd if=/rootfs.gz of=/dev/fd0 bs=1k
2.boot盘,影像了linux内核 dd if=/boot/vmlinuz-2.4.2-2 of=/dev/fd0 bs=1k
- 边学边干Linux内核指导(1)——理解Shell
- 边学边干Linux内核指导(2)——内核时钟
- 边学边干Linux内核指导(3)——内核模块
- 边学边干Linux内核指导(4)——系统调用
- 边学边干Linux内核指导(5)——进程间通讯
- 边学边干Linux内核指导(6)——虚拟存储
- 边学边干Linux内核指导(7)——进程同步
- 边学边干Linux内核指导(8)——进程调度
- LINUX内核随记(一)——理解中断(1)
- 深入理解linux内核——进程
- windows内核安全编程——内核上机指导
- 深入理解linux内核——内核同步
- linux系统组成——硬件、内核、shell
- 基于Arm的Linux内核编译指导
- 操作系统实验指导:基于Linux内核
- LINUX内核随记(一)——理解中断(2)
- LINUX内核随记(一)——理解中断(3)
- 《深入理解Linux内核》学习笔记——第一章
- 专注的力量
- Delphi基础
- [Rubyist.cn]加入了“显示访客地理位置”功能
- Asp.Net 常用代码参考
- c#的属性
- 边学边干Linux内核指导(1)——理解Shell
- 边学边干Linux内核指导(2)——内核时钟
- STL 函数指针
- 3D游戏编程(三)
- SQL Server中处理重复记录
- 不要为眼前的得失而抓狂
- 2006-我的年记
- 更换卡巴斯基6授权许可文件的方法
- 服务契约Service Contract