3模式,BIOS,启动,构建系统,用户界面

模式

实模式(实地址模式,REAL MODE)
程序按照8086寻址方法访问0h——FFFFFh ( 1MB)空间寻址方式∶物理地址(20位)=段地址∶偏移地址。
CPU单任务运行·

保护模式(内存保护模式,PROTECT MODE )
寻址方式:段(32位)和偏移量(32位),寻址4GB空间
段的属性∶起始地址,存取属性,权限级别、、、
段页式寻址机制(段,页)
虚拟地址,进程,封闭空间
应用程序和操作系统的运行环境都被保护
CPU支持多任务

实模式存取的1M空间
前面640K 【00000 – 9FFFF】:基本内存
中间128K 【A0000 – BFFFF】:显卡显存
末尾256K 【C0000 – FFFFF】 :BIOS
C0000 – C7FFF:显示卡BIOS
C8000 – CBFFF :IDE控制器BIOS
F0000-FFFFF:最后64KB,系统BIOS

系统BIOS

Basic I/O System(Firmware,固件)基本输入/输出系统
位置:F0000-FFFFF
功能
系统启动配置
基本的设备I/O服务
系统的加电自检和启动

系统启动

按下PowerOn或者Reset键
执行FFFF0处的指令:
JUMP POST:POST位于系统BIOS内部
Power On Slef-Test(加电自检)
初始化基本硬件CPU,内存,显卡、、、
自检正常不提示,错误则通过喇叭提示。
查找显卡BIOS,调用显卡BIOS ;
依次查找其它设备执行相应设备的BIOS;
显示启动画面(Y7000)

主启动记录MBR
存放在硬盘/软盘的首扇区
存放和OS启动的相关信息(Main Boot Record )
512BYTES
结束∶0xAA55h

分区启动扇区( Partition Boot Sector)
主启动扇区(Main boot sector)

提供菜单:让用户选择不同的启动项,实现多重启动
加载核心文件:直接指向可启动区加载操作系统;
跳转:将启动管理功能转交给其他loader

操作系统启动

BIOS中的启动程序运行
读取0面0道第1扇区内容(MBR)
加载MBR中的引导程序

引导程序
根据相关参数,读取硬盘指定位置的文件到内存
加载硬盘上OS内核,并初始化基本参数

OS内核:逐步加载OS剩余部分最后完全控制计算机

核心初始化
目的:OS内核初始化
系统的核心数据典型工作
各种寄存器的初始化
存储系统和页表初始化
核心进程构建·

系统初始化
为用户使用系统作准备,使系统处于待命状态
主要工作
初始化文件系统
初始化网络系统
初始化控制台
初始化图形界面

构建操作系统

满足特定硬件环境和用户需要,组装和构建操作系统过程

根据硬件环境/用户要求配置功能模块和构造参数
构建(build)OS的映像

操作系统的生成的前提  操作系统由可拆装模块构成  有交互式配置工具  有映像构建(build)工具

Linux操作系统的生成  1、获取Linux内核的源代码  2、选择和启动内核配置程序  3、根据需要配置内核模块和参数  4、重新编译新的内核  5、编译和安装模块  6、启动新内核

用户界面的定义

OS提供给用户控制计算机的机制,又称用户接口。
用户界面的分类
操作界面
系统调用(System Call,系统功能调用,程序界面)

操作界面
图形用户接口( GUI,Graphic User Interface)
窗口,图标,菜单,按钮,鼠标(消息,事件)

键盘命令(COMMAND)
在控制台环境下接收键盘输入的命令
类型:普通命令、批处理程序shell
Windows:DOS命令
Linux:linux命令

批处理
普通命令的集合,批执行,由command解释执行。
支持变量替换、条件、转移、循环、注释等简单语法
*.BAT

Shell是操作系统与用户交互的界面
Shell表现为通过控制台执行用户命令
Shell本身不执行命令,仅仅是组织和管理命令
Bash有许多功能:补全,历史,清除页面

脚本(Script)通过类似程序的方式执行具有一定逻辑顺序的命令序列完成较复杂的功能和人机交互。
脚本程序保存在文本文件中;
脚本程序是Shell命令语句的集合﹔

Shell脚本程序由Shell环境解释执行;
执行Shell脚本文件需要具有可执行属性
Chmod +x MyScript.sh

系统调用(System Call)
操作系统内核为应用程序提供的服务/函数

一般涉及核心资源或硬件的操作
运行于核态。
每个系统调用具有唯一的编号:ID
调用过程会产生中断)自愿中断

显式
MOV AH,O9h 09h号子功能
INT 21h 21号中断
隐式
printf( "Hello World\n“);
exit( 0 );
类似API函数
在高级语言中使用
包含有(INT 80h”中断指令,执行相应的系统调用

DOS用INT 21中断

Linux用INT 80h
MOV EAX ,4; 指定系统调用的编号
INT 80h; 中断:输出字串

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值