本文主要是介绍操作系统用户界面(三),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
3.1 操作系统启动过程
操作系统的启动过程是BIOS和主引导记录MBR。计算机的工作模式有实模式(计算刚加电启动时候)和保护模式(操作系统启动后)。
实模式(实地址模式,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
其中BIOS分为三段
- 【C0000-C7FFF】:显示卡BIOS
- 【C8000-CBFFF】:IDE控制器BIOS
- 【F000-FFFFF】:系统BIOS
系统BIOS (Basic I/O System),固件,具备:基本输入/输出系统;位置:F0000-FFFFF;功能:1,系统启动配置;2,基本的设备I/O服务;3,系统的加电自检和启动
I/O服务类型有如下
加电自检POST
- Power On Self-Test;初始化基本硬件(CPU,内存,显卡);自检正常不提示,错误则通过喇叭提示。
- 按下PowerOn或者Reset键执行第一条指令(FFFF0处的指令)
POST之后
- 查找显卡BIOS,调用显卡BIOS
- 依次查找其它设备执行相应设备的BIOS
- 显示启动画面(BIOS信息,芯片组型号,主板信息...)
- 从硬盘/软盘/光驱/U盘读入OS
- OS启动后,由OS接管计算机
主启动记录MBR
- 存放在硬盘/软盘的首扇区
- 存放和OS启动的相关信息
- 512Bytes
- 结束:0xAA55h
操作系统的启动过程
- 从加电到用户工作环境准备好的过程
- 初始引导
- 核心初始化
- 系统初始化
初始引导
目的:把OS核心装入内存并使之开始工作接管计算机系统。
过程:加电,JUMP POST;BIOS中的启动程序运行;启动程序(读取0面0道第1扇区内容,MBR);引导程序(根据相关参数,读取硬盘指定位置的文件到内存;加载硬盘上OS内核,并初始化基本参数)
核心初始化
目的:OS内核初始化系统的核心数据
典型工作:各种寄存器的初始化;存储系统和页表初始化;核心进程构建
系统初始化:为用户使用系统作准备,使系统处于待命状态。主要工作:初始化文件系统;初始化网络胸痛;初始化控制台;初始化图形界面…
LINUX的启动过程
POST->MBR ->KERNEL映像-> KERNEL 映像自解压并执行->内核初始化 ->内核启动 ->
内核完成引导后,加载Init程序:
- 进程号1
- init进程通过/etc/inittab脚本进行初始化
- 脚本文件/etc/inittab (init进程根据/etc/inittab执行相应的脚本初始化系统,设置键盘、字头、
- 装载模块、设置网络等)
linux的登录过程如下
Windos的启动过程
- POST
- 加电后BIOS启动主机自检程序
- 初始引导
- BIOS从MBR读入引导程序,装入内存的特定位置
- 引导程序启动DOS7.0, 调入操作系统核心
- WINDOS开始接管系统
- 核心初始化
- 资源状态、核心数据等初始化
- 系统初始化
- GUI界面生成,系统处于待命/消息接收状态
3.2 操作系统生成
操作系统的生成是指满足特定硬件环境和用户的需要,组装和构建操作系统过程。
主要步骤:
- 根据硬件环境/用户要求配置功能模块和构造参数
- 构建OS的映像
- 生成的前提
- 操作系统由可拆装模块构成
- 有交互式配置工具
- 有映像构建工具
3.3 用户界面
用户界面的定义:OS提供给用户控制计算机的机制,又称用户接口
操作界面
图形用户接口:窗口,鼠标,菜单,按钮,等
键盘命令:在控制台环境下接收键盘输入的命令;类型(普通命令,批处理程序,shell)
DOS典型命令
- 文件管理:copy, comp, type, del ,ren
- 磁盘管理: format, chkdsk, diskcopy, diskcomp
- 目录管理: dir, cd, md, rd, tree
- 设备工作模式: cls, mode
- 日期、时间、系统设置: date, time, ver, vol
- 运行用户程序: masm, link, debug
LINUX典型命令
Bash是shell的一种,主要功能有
- 命令行编辑功能
- 命令和文件名补全功能
- 命令历史功能
- 命令别名功能
- 提供作业控制功能
- 管道与重定向
- 具有将命令序列定义为功能键的功能
- Shell脚本编程
Shell脚本编程
脚本(script)通过类似程序的方式执行具有一定逻辑顺序的命令序列完成较复杂的功能和人机交互
- 脚本程序保存在文本文件中;
- 脚本程序是Shell命令语句的集合
- read从键盘读入一行,把各个字段赋给相应变量
- Echo 向控制台输出字符串
运行脚本程序的三个方法
- 直接运行:用缺省版本
- 使用某个特定版本的Shell执行脚本:$ bash first_script
- 在脚本文件首行指定shell:在脚本开头增加一行( #!/bin/bash)
3.4 系统调用
定义:操作系统内核为应用程序提供的服务/函数
特点
- 一般涉及核心资源或硬件的操作;
- 运行于核态;
- 每个系统调用具有唯一的编号:ID
- 调用过程会产生中断:自愿中断
这篇关于操作系统用户界面(三)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!