深入了解Linux启动过程
本文详细分析了Linux桌面操作系统的启动过程,涉及到BIOS系统、LILO 和GRUB引导装载程序,以及bootsect、setup、vmlinux等映像文件,并结合引导、启动原理和具体的代码实现机制由浅入深地进行了分析。
初学者刚接触Linux桌面系统会感觉系统启动速度较慢,那么,为什么它的启动速度慢呢?本文就桌面系统的引导和启动过程展开分析,以期对初学者熟悉Linux有所帮助。
一、Linux系统的引导过程
简单地说,系统的引导和启动过程就是计算机加电以后所要发生的事情, 比如,加电自检、引导程序的拷贝和执行、内核的拷贝和执行及用户程序的执行等。这个过程就是常说的bootstrap,我们把这些归纳为5个过程, 下面来逐一分析。
1.BIOS执行阶段
现代计算机系统的存储机制是“挥发”性的,一旦关机断电, 存储在内存中的信息。连同操作系统本身的映射就丢失了。所以,必须把操作系统(内核) 的映像存储在某些不“挥发” 的介质中,使得开机加电时由一个不“挥发”介质加载操作系统,并转入运行的过程。这就是引导,也称自举。这些不“挥发” 介质通常是指硬盘或软盘, 也可以是EPROM 或F1ash存储器,还可以是网络中别的节点。要想在开机时从不“挥发” 介质装入操作系统的映像,系统就要CPU在开机时能执行一段程序,这段程序本身必须存储在作为系统内存一部分的EPROM 或Flash等存储器中, 而且它们知道怎样才能从不“挥发” 介质装入操作系统的映像。事实上,各种CPU 被设计成一个加电后就从某个特殊的地址开始执行指令,所以这些不挥发存储器就被安置在这个位置上。比如在i386CPU系统中,计算机在加电的那一刻,RAM 芯片中所包含的是随机数据,还没有操作系统,在此刻有一个特殊硬件电路在加电时会在C P U 的一个引脚上产生一个RESET逻辑值,硬件电路设置RESET逻辑值以后,代码寄存器CS的内容为0xffff,而指令寄存器的内容为0。也就是说,CPU要从线性地址0xffff0开始处取第一条指令。硬件电路再把这个物理地址映射到RAM 芯片中,BIOS就存放在这里,这时候处理器就开始执行BIOS代码了。我们都知道BIOS中包含了几个中断驱动的低级程序,可以使用它们来初始化一些硬件设备,但它们是在实模式下工作的。其中实模式地址是由一个seg段和一个off偏移量组成的,相应的物理地址可以使用“seg*16+off” 来计算。
接下来BIOS要做的就是执行一系列的测试,看看到底系统中
相关文档:
Linux Device Drivers, 3rd Edition
2.3.1. User Space and Kernel Space
内核空间和用户空间
Unix transfers execution from user space to kernel space whenever an application issues a system call or is suspended by a hardware interrupt. Kernel code executing a system call is working in the context of a ......
http://179401.cn/read.php?21
acpid
配置文件:/proc/acpi/event
默认端口:无
说明:Advanced Configuration and Power Interface,为替代传统的APM 电源管理标准而推出
的新型电源管理标准。
是否需要启动:如果你需要对电源进行管理,那就需要启动。
anacron
配置文件:/etc/anacron
默认端口:无
说明:一个 ......
想要在虚拟机下的linux与windows互联,最关键的只需要3步:
1.一定要设置虚拟机的网卡为桥接模式,找个一定不能忘。
2.设置linux下的ip地址, vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 #网络名称
BOOTPROTO=static #静态获取ip地址
IPADD ......
为VMware添加虚拟硬盘
VMware安装linux的时候默认分配的空间是4GB,可能会不够,这个时候可以通过增加一块虚拟硬盘,将/usr或其他内容拷贝过去解决这个问题:
创建虚拟硬盘
1、关闭V ......
快捷键:ctrl+c ctrl+d
1.shell 分为图形shell和命令shell 命令shell分为bash和csh,切换到csh用csh,exit返回bash
2.telnet 远程登陆unix
telnet 192.168.0.25
login:hz0904 用户名
password:sd0904 密码规则:6-8个字符,至少包含字母以及1个数字,不能与登录名相同
3.passwd: 修改密码>输入现有口令>输入 ......