操作系统的一些基础知识和linux系统启动流程

存储管理:

   内存的分配与回收:

      静态存储分配:内存分配在作业运行前一次性完成。

      动态存储分配:分配工作可以在作业运行前及运行过程中逐步完成。

 

源程序经过汇编或编译后,形成目标程序,每个目标程序都是以0为基址顺序进行编址的。

 

物理地址 = 起始地址 + 逻辑地址

静态地址重定位:不需要硬件的支持,必须占用连续的内存空间。

动态地址重定位:需要硬件的支持,不要求程序装入连续的内存空间。


字符设备与块设备

字符设备:一次存取一个字符的设备,如键盘、串口等;

块设备:以一块一块数据存取的设备,如磁盘、内存等。


死锁的四个必要条件:

1、互斥条件(也叫资源独占):一个资源每次只能给一个进程使用

2、请求等待条件:一个进程在申请新的资源的同时保持对原有资源的占有(只有这样才是动态申请,动态分配)

3、非抢占条件:资源申请者不能强行的从资源占有者手中夺取资源,资源只能由占有者自愿释放

4、循环条件:存在一个进程等待队列 {P1 , P2 , … , Pn}, 其中P1等待P2占有的资源,P2等待P3占有的资源,…,Pn等待P1占有的资源,形成一个进程等待环路



linux启动流程如下:

固件fireware(CMOS/BIOS) ------>>>POST加电自检,检测硬件信息

|

|

自举程序BootLoader(GRUB)              ------->>>读取MBR、载入内核

|

|

载入内核kernel(做两件事)              -------->>>驱动硬件

|

|

启动进程(init)

|

|

读取并执行配置文件/etc/inittab

|

|

执行/etc/rc.d/下的文件

|

|

执行/bin/login程序

你可能感兴趣的:(操作系统,linux系统启动流程)