根据提供的文件信息,我们可以深入探讨第三章中关于操作系统用户接口的部分。这部分主要涵盖了用户工作环境的形成、交互工作环境的特点以及操作系统的初始化过程。接下来,我们将详细解析这些内容。 ### 3. 操作系统的用户接口 #### 3.1 用户工作环境 1. **用户工作环境的形成**: - **资源提供**:操作系统必须提供各种硬件和软件资源的设计与使用,包括方便的命令集合(如操作命令、系统功能调用)。通过将操作系统装入计算机并进行初始化,形成可供使用的环境,激活操作系统。 - **交互工作环境**:用户通过终端进行操作,发出命令或请求服务。操作系统执行用户的请求并将结果反馈给用户。 2. **操作系统的初始化**: - **独立引导方式(滚雪球方式)**:OS核心文件存储在系统本身的存储设备中,系统自身负责将OS核心程序读入主存并运行,从而建立一个操作环境。这种引导方式适用于微机和大多数系统。 - **辅助下载方式**:当OS主要文件不在系统本身的存储设备中时,需要在系统启动后执行下载操作,从另一台计算机系统中将操作系统常驻部分传输到当前计算机中,从而形成操作环境。这种方式适用于多计算机系统、由主控机与前端机构成的系统以及分布式系统。 #### 3.1 用户工作环境详解 - **独立引导方式(滚雪球方式)的过程**: 1. **初始引导系统**:系统加电;执行初始引导程序,对硬件和配置进行自检,确保系统没有硬件错误。 2. **引导程序执行**:从硬盘读入操作系统引导程序,并将控制权交给该程序模块。 3. **核心初始化**:初始化系统数据结构及参数;建立进程相关的数据结构;获得自由存储空间的容量,并建立相应的数据结构;建立系统设备和文件系统的数据结构;初始化时钟。 4. **系统初始化**:完善OS的操作环境,装载命令处理程序(或图形用户界面),并初始化;在多用户系统中,为每个终端建立命令解释进程,使系统处于命令接收状态。 - **Linux系统的初始化**: - **加电或复位**:对主存中所有的数据清零,对内存进行校验,若无错误,则将控制权转交给BIOS入口。 - **BIOS启动**:执行ROM中的引导程序,对硬件设备进行检测,并从硬盘读入Boot Loader。 - **Loader(引导程序)**:将OS读入内存,并将控制权交给OS的初始化程序。 - **核心初始化**(Setup.s):检查内存中的代码;获取内存容量信息;设置设备模式;屏蔽中断,准备进入保护模式;设置中断描述符表(idt)和全局描述符表(gdt);控制权交给Head.s。 - **Head.s的工作**:对中断向量表进行准备工作;检查CPU类型;进行页面初始化;调用main.c中的Start_kernel()。 - **Start_kernel()的工作**:初始化与CPU、内存等最基本的硬件部分;初始化中断向量表;为进程调度程序作准备;设置基准时钟;内核的内存分配;初始化文件系统;建立init进程。Init进程负责为每一个联机终端建立“getty”进程,getty在终端上显示“login”,等待用户登录。 ### 3.2 用户接口 这一部分虽然没有给出具体细节,但通常涉及用户与操作系统交互的各种方法,包括但不限于命令行界面、图形用户界面等。这些接口提供了用户访问操作系统功能的途径,使得用户能够执行各种任务,如运行应用程序、管理系统资源等。 ### 3.3 运行一个应用程序的过程 运行应用程序通常涉及到一系列步骤,包括加载程序到内存、创建进程、分配资源等。这一过程通常由操作系统的用户接口来支持和管理。 ### 3.4 系统功能调用 系统功能调用是用户程序与操作系统之间通信的一种机制。用户程序可以通过调用特定的API来请求操作系统执行某些操作,如文件操作、进程管理等。这些调用通常由操作系统内核处理,是实现用户与操作系统交互的关键手段之一。 通过以上分析,我们可以看到操作系统用户接口这一章涉及了用户工作环境的形成、交互工作环境的特点以及操作系统初始化过程等重要内容,这些都是理解操作系统工作原理的基础。
剩余30页未读,继续阅读
- 粉丝: 873
- 资源: 63
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- java毕业设计-基于SSM框架的传统服饰文化体验平台【代码+部署教程】
- 优化领域的模拟退火算法详解与实战
- NewFileTime-x64.zip.fgpg
- 基于Python和HTML的Chinese-estate-helper房地产爬虫及可视化设计源码
- 基于SpringBoot2.7.7的当当书城Java后端设计源码
- 基于Python和Go语言的开发工具集成与验证设计源码
- 基于Python与JavaScript的国内供应商管理系统设计源码
- aspose.words-20.12-jdk17
- 基于czsc库的Python时间序列分析设计源码
- 基于Java、CSS、JavaScript、HTML的跨语言智联平台设计源码