BIOS和MBR
实模式(实地址)
程序按照8086寻址方法访问空间
寻址方式:物理地址(20位)=段地址:偏移地址
CPU单任务运行
保护模式(内存保护)
寻址方式
段页式寻址机制
虚拟地址,进程,封闭空间
应用程序和操作系统的运行环境都被保护
CPU支持多任务
刚加电时,计算机处于实模式,操作系统接电后,计算机处于保护模式。实模式与保护模式寻址方式不同,实模式按照8086寻址方法访问空间,保护模式用段页式寻址。实模式CPU单任务运行,保护模式CPU支持多任务。
BIOS
固件接口
基本输入/输出系统
BIOS的基本功能:系统启动配置,基本的设备I/O服务,系统的加电自检和启动
中断类型号:10H~1FH
加电自检POST:初始化基本硬件
POST后,查找显卡BIOS,调用显卡BIOS,依次查找其他设备执行相应设备的BIOS,显示启动画面,从硬盘/软盘/光驱/U盘读入OS,OS接管计算机
MBR
存放在硬盘/软盘的首扇区,存放OS启动的相关信息
分区启动扇区
主启动扇区:完成os加载或启动管理功能。
提供菜单:让用户选择不同的启动项,实现多重启动,加载核心文件:直接指向可启动区加载操作系统,跳转:将启动管理功能转交给其他loader
BIOS和MBR程序运行过程
POST->CMOS设置(硬盘启动)->读取MBR->控制权交给MBR
MBR读取分区表,找到活动分区,读取活动分区的第一个分区,加载到内存中
PBR继续控制后面的引导过程
操作系统启动过程
从加电到用户工作环境准备好的过程
初始引导,核心初始化,系统初始化
初始引导
把OS核心装入内存并使之开始工作接管计算机系统
加电,BIOS的启动程序运行,启动程序,引导程序,os内核
核心初始化
OS内核初始化系统的核心数据
工作:寄存器,存储系统和页表的初始化等
系统初始化
为用户使用系统作准备,使系统处于待命状态
工作:初始化文件系统、网络系统、控制台、图形界面
Windows启动过程
POST->初始引导->核心初始化->系统初始化
Linux启动过程
POST->MBR->KERNEL映像->KERNEL映像自解压并执行->内核初始化->内核启动
内核引导后,加载init程序,ini进程通过/etc/inittab脚本进行初始化
操作系统生成
满足特定硬件环境和用户需要,组装和构建操作系统过程
主要步骤:1.根据硬件环境/用户要求配置功能模块和构造参数,2.构建OS的映像
生成前提:操作系统由可拆装模块构成,有交互式配置工具,有映像构建工具
linux操作系统生成
1.获取源码
2.选择和启动内核配置程序
3.根据需要配置内核模块和参数
4.重新编译新的内核
5.编译和安装模块
6.启动新内核
用户界面
OS提供给用户控制计算机的机制,称为用户接口
常见的用户接口:图形,命令,程序(系统调用
分类:操作界面、系统调用
操作界面
图形用户接口
键盘命令:普通命令、批处理程序、shell
linux典型命令:man,cd,ls,ps,mount,umount,tar,chown,chmod,find,locate,whereis
批处理
普通命令集合,批执行,由command解释执行。支持变量替换、条件、转移、循环、注释等
Bash的主要功能
命令行编辑功能,命令和文件名补全功能,命令历史功能,命令别名功能,提供作业控制功能,管道与重定向,具有将命令序列定义为功能键的功能,shell脚本编程
shell脚本编程
Bsh,Csh,Ksh,Bash
以#!/bin/bash开头,代表脚本的解释器,如果没有写,脚本可能无法找到解析器,从而无法运行。
shell:操作系统与用户交互的界面,通过控制台执行用户命令的方式,本身不执行命令,只组织和管理命令
脚本通过类似程序的方式执行具有一定逻辑顺序的命令序列完成较复杂的功能和人机交互
脚本程序保存在文本文件中,是shell命令语句的集合
所有命令逐行执行,凡是能够在shell直接执行的命令都可以在脚本中使用,脚本还可以使用一些不能在shell下直接执行的语句
shell脚本程序由shell环境解释执行
重定向:改变命令缺省的输入来源或输出方向为文件或其他
管道:特殊的重定向操作。连接左右两个命令,将左边的输出作为右边的输入
运行脚本程序的方法
直接运行(缺省版本的shell运行脚本程序)
使用某个特定版本的shell执行脚本
在脚本文件首行指定shell
系统调用
操作系统内核为应用程序提供的服务/函数
系统调用的特点
一般涉及核心资源或硬件的操作
运行于核态
每个系统调用具体的编号:ID
调用过程中会产生自愿中断
隐式系统调用
类似API函数
在高级语言中使用
包含”INT 80h"中断指令,执行相应的系统调用
编译时隐式系统调用转化为显式的系统调用:INT 80h