3.1 操作系统启动过程

3.1.1 BIOS和主引导记录MBR

A、两种工作模式:实模式(real mode)和保护模式

1. 实模式(实地址模式,real mode)

a. 程序按照8086寻址方法访问0h-FFFFFh(1MB)空间

1) 前面640k【00000--9FFFF】:基本内存

2)中间128k【A0000--BFFFF】: 显卡显存

3)末尾256k 【C0000--FFFFF】: BIOS(Basic I/O System,固件)

1) C0000-C7FFF:显示卡BIOS

2)C8000-CBFFF:IDE控制器BIOS

3)F0000-FFFFF:最后64k,系统BIOS

4)功能:系统启动配置、基本的设备I/O服务、系统的加点自检和启动

b. 寻址方式:物理地址(20位)=地址段:偏移地址

c. CPU单任务运行

2、保护模式(内存保护模式,protect mode)

a. 寻址方式:段(32位)和偏移量(32位),寻址4GB空间

1). 段的属性:起始地址,存取属性,权限级别,...

2). 段页寻址机制(段,页)

3). 虚拟地址,进程,封闭空间

4). 应用程序和操作系统的运行环境都被保护

5). CPU支持多任务

B、主启动记录MBR

1. 存放在硬盘/软盘的首扇区

2. 存放和OS启动的相关信息(Main Boot Record)

3. 512BYTES

4. 结束:0xAA5h

C、启动过程

1. POST(加电自检)-->CMOS设置(硬盘启动)-->读取MBR-->控制权交给MBR

2. MBR读取分区表(Partition Table),找到其中的活动分区(Active Partition),并确认其它的分区都不是活动分区。MBR读取活动分区的第一个分区(分区引导记录PBR),并把它加载到内存中去

3. PBR继续控制后面的引导过程

3.1.2 操作系统启动过程

A、初始化引导

1. 目的:把OS核心装入内存并使之开始工作接管计算机系统

2. 过程:1)加点,JUMP POST 2)...BIOS中的启动程序运行 3)启动程序:a.读取0面0道第1扇区内容(MBR) b. 加载MBR中的引导程序 4)引导程序:a. 根据相关参数,读取硬盘指定位置的文件到内存 b. 加载硬盘上OS内核,并初始化基本参数

B、核心初始化

1. 目的:OS内核初始化系统的核心数据

2. 典型工作:a. 各种寄存器的初始化 b. 存储系统和页表初始化 c. 核心进程构建 d. ...

C、系统初始化

1. 目的:为用户使用操作系统做准备,使系统处于待命状态

2. 工作:a. 初始化文件系统 b. 初始化网络系统 c. 初始化控制台 d. 初始化图形界面 e. ...

D、LINUX启动过程:POST-->MBR-->KERNEL映像-->KERNEL映像自解压并执行-->内核初始化-->内核启动--> 加载init程序

1. init 程序:

a. 进程号为1

b. init进程通过/etc/inittab脚本进行初始化 1)不同运行级别(Runlevel)

c. 脚本文件inittab 1)init进程根据/etc/inittab执行相应的脚本初始化系统

2. 登录过程

3.2 操作系统的生成

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

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

C、前提:1)操作系统由可拆装模块构成2)有交互式配置工具3)有映像构建工具

D、linux操作系统的生成:

1. 获取linux内核的源代码

a. http://www.kernel.org/

b. cd /usr/src

c. tar zxvf linux-....

2. 选择和启动内核配置程序

a. cd /usr/src/linux-2.6

b. make config (文本界面,不推荐使用)

c. make xconfig (图形窗口模式,xWindows使用)

d. make menuconfig(文本选择界面,字符中端)

3. 根据需要配置内核模块和参数

4. 重新编译新的内核

a. make dep 生成依赖dependency信息

b. make clean 清除旧的编译结果

c. make bzImage ./arch/i386/boot/bzImage

5. 编译和安装模块

a. make modules

b. make modules_install:模块被编译安装到 /usr/lib/<内核版本号>目录下

6. 启动新内核

a. cp bzImage /boot/bzImage

b. GRUB

1) 配置/boot/grub/grub.conf

3.3 用户界面

3.3.1 用户界面概念

3.3.2 shell脚本编程

A、 shell是操作系统与用户交互的界面

B、shell表现通过控制台执行用户命令的方式

C、shell本身不执行命令,仅仅是组织和管理命令

3.4 系统调用

3.4.1 定义:操作系统内核为应用程序提供的服务/函数

3.4.2 特点:

A、一般涉及核心资源或硬件的操作

B、运行于核态

C、每个系统调用具有唯一的编号:ID

D、调用过程中会产生中断:自愿中断

系统调用中断过程

3.4.3 DOS利用INT 21h中断实现系统调用

A、特点:利用AH寄存器存放系统调用的编号

3.4.4 LINUX利用INT 80h中断实现系统调用

A、特点:利用EAX寄存器存放系统调用的编号

B、LINUX系统调用原理

linux系统调用原理

db2界面调用存储过程_第三章 操作系统用户界面相关推荐

  1. db2界面调用存储过程_DB2 存储过程调用 存储过程

    匿名用户 1级 2014-09-05 回答 1.存储过程编写 DROP PROCEDURE "PLName" @ CREATE PROCEDURE "PLName&quo ...

  2. 《精通数据仓库设计》中英对照_第三章

    <精通数据仓库设计>中英对照_第三章 第二部分 模型开发 数据仓库应该表示企业数据的各个方面,这些方面以主题域和业务数据模型开始.我们将在第3章使用一个假想的公司,指导一步一步地开发这两个 ...

  3. ArcGIS for Desktop入门教程_第三章_Desktop软件安装 - ArcGIS知乎-新一代ArcGIS问答社区...

    原文:ArcGIS for Desktop入门教程_第三章_Desktop软件安装 - ArcGIS知乎-新一代ArcGIS问答社区 1 软件安装 1.1 安装前准备 请确认已经收到来自Esri中国( ...

  4. Lync Server 2010的部署系列_第三章 证书、架构、DNS规划

    Lync Server 2010的部署系列_第三章 证书.架构.DNS规划 一.证书规划 组件 使用者名称 使用者备用名称条目/顺序 证书颁发机构 (CA) 备注 边缘外部接口 Sip.Giantha ...

  5. c语言中,x-y,'105',ab,7f8那个是正确的,C语言程序设计_第三章 数据.ppt

    C语言程序设计_第三章 数据 * 运算符功能 与运算量关系 要求运算量个数 要求运算量类型 运算符优先级别 结合方向 结果的类型 学习运算符应注意 * 基本算术运算符: + - * / % 结合方向: ...

  6. 管理系统中计算机应用课件,管理系统中计算机应用_第三章课件.ppt

    <管理系统中计算机应用_第三章课件.ppt>由会员分享,提供在线免费全文阅读可下载,此文档格式为ppt,更多相关<管理系统中计算机应用_第三章课件.ppt>文档请在天天文库搜索 ...

  7. OpenCV函数简记_第三章数字图像的滤波处理(方框,均值,高斯,中值和双边滤波)

    系列文章目录 OpenCV函数简记_第一章数字图像的基本概念(邻域,连通,色彩空间) OpenCV函数简记_第二章数字图像的基本操作(图像读写,图像像素获取,图像ROI获取,图像混合,图形绘制) Op ...

  8. )类 新建javafx程序时_第三章 第一个OpenCV的JavaFX应用程序.md

    # 第三章 第一个OpenCV的JavaFX应用程序 --- ***注意***:我们假设您现在已经阅读了之前的教程.如果没有,请在[http://opencv-java-tutorials.readt ...

  9. 屏幕输出语句_第三章 常用输入/输出函数

    第三章 常用输入/输出函数 与其他高级语言一样, C语言的语句是用来向计算机系统发出操作指令的. 当我们提到输入时,这意味着要向程序填充一些数据.输入可以是以文件的形式或从命令行中进行.C 语言提供了 ...

最新文章

  1. 在RHEL4上安装ORACLE9.2.04
  2. 开源MANO软件盘点
  3. 计算机位运算:左移乘以2,右移除以2
  4. C++ cout 输出 16, 8 , 2进制
  5. python制作简单K线图
  6. 亲戚(信息学奥赛一本通-T1346)
  7. IO复用与select函数
  8. Python 中的全局变量
  9. python之requests模块
  10. char*赋值给std::string是深拷贝
  11. Swift - 使用下划线(_)来分隔数值中的数字
  12. 软件设计师考试真题链接
  13. 微型计算机硬件调研报告,计算机硬件市场调研报告
  14. css动画帧动画效果,css逐帧动画
  15. ExpRe[10] Ubuntu[2] 准备神秘软件、备份恢复软件
  16. Unity禁止多点触控
  17. docker部署time machine服务
  18. 无线前端资源管理方案
  19. 用大约 10 万字的内容对 Java 的核心知识点和常见的 1000 多道面试题,做了详细的介绍
  20. 读懂trace file (tkprof格式化) 6

热门文章

  1. Beanutils-No origin bean specified问题分析
  2. 【LeetCode-面试算法经典-Java实现】【054-Spiral Matrix(螺旋矩阵)】
  3. 安装完MAVEN后输入mvn -v, 提示不是内部命令的问题
  4. hbase shell-dml(数据管理指令)
  5. (jQuery,Highcharts)前端图表系列之一 --Highcharts (转)
  6. __format__
  7. 移植madplay到jz2440【学习笔记】
  8. Spring MyBatis多数据源分包
  9. 京东最新点击率预估模型论文学习和分享
  10. openresty源码剖析——lua代码的执行