操作系统实验报告

实验目的:

随着操作系统应用领域的扩大,以及操作系统硬件平台的多样化,操作系统的体系结构和开发方式都在不断更新,目前通用机上常见操作系统的体系结构有如下几种:模块组合结构、层次结构、虚拟机结构和微内核结构。计算机操作系统体系结构一、模块组合结构   操作系统刚开始发展时是以建立一个简单的小系统为目标来实现的,但是为了满足其他需求又陆续加入一些新的功能,其结构渐渐变得复杂而无法掌握。以前我们使用的MS-DOS就是这种结构最典型的例子。这种操作系统是一个有多种功能的系统程序,也可以看成是一个大的可执行体,即整个操作系统是一些过程的集合。系统中的每一个过程模块根据它们要完成的功能进行划分,然后按照一定的结构方式组合起来,协同完成整个系统的功能。如图1所示:   在模块组合结构中,没有一致的系统调用界面,模块之间通过对外提供的接口传递信息,模块内部实现隐藏的程序单元,使其对其它过程模块来说是透明的。但是,随着功能的增加,模块组合结构变得越来越复杂而难以控制,模块间不加控制地相互调用和转移,以及信息传递方式的随意性,使系统存在一定隐患。 二、层次结构   为了弥补模块组合结构中模块间调用存在的固有不足之处,就必须减少模块间毫无规则的相互调用、相互依赖的关系,尤其要清除模块间的循环调用。从这一点出发,层次结构的设计采用了高层建筑结构的理念,将操作系统或软件系统中的全部构成模块进行分类:将基础的模块放在基层(或称底层、一层),在此基础上,再将某些模块放在二层,二层的模块在基础模块提供的环境中工作;它只能调用基层的模块为其工作,反之不行。严格的层次结构,第N+l层只能在N层模块提供的基础上建立,只能在N层提供的环境中工作,也只能向N层的模块发调用请求。   在采用层次结构的操作系统中,各个模块都有相对固定的位置、相对固定的层次。处在同一层次的各模块,其相对位置的概念可以不非常明确。处于不同层次的各模块,一般而言,不可以互相交换位置,只存在单向调用和单向依赖。Unix/Linux系统采用的就是这种体系结构。  在层次结构中,强调的是系统中各组成部分所处的位置,但是想要让系统正常运作,不得不协调两种关系,即依赖关系和调用关系。 依赖关系是指处于上层(或外层)的软件成分依赖下层软件的存在、依赖下层软件的运行而运行。例如,浏览器这部分软件就依赖GUI的存在和运行,GUI又依赖操作系统的存在和运行。在操作系统内部,外围部分依赖内核的存在而存在,依赖内核的运行而运行,内核又依赖HAL而运行。处在同层之内的软件成分可以是相对独立的,相互之间一般不存在相互依赖关系。 三、虚拟机结构      虚拟机的基本思想是系统能提供两个功能:多道程序处理能力;提供一个比裸机有更方便扩展界面的计算机。操作系统是覆盖在硬件裸机上的一层软件,它通过系统调用向位于它之上的用户应用程序服务。从应用程序的角度看来,操作系统像是一台“计算书”,只不过它的功能比硬件裸机更强,它的指令系统是系统调用集而己。因此,从概念上来讲,操作系统是“虚拟机”。这是“虚拟机”概念的来源。利用CPU调度以及虚拟内存技术,操作系统可以给运行于系统中的进程以假象:好像进程拥有自己的CPU和存储器,如同系统中只有一个进程,系统所有资源都为它服务。从这个角度来讲,操作系统为每一个进程创建了一个使该进程独立运行于其中的“虚拟机”,在这个“虚拟机”中,进程拥有自己的“CPU”和“存储器”,同时进程还得到了硬件所无法提供的文件系统功能。虚拟机操作系统就是根据这一想法而产生的。   虚拟机操作系统不提供传统操作系统中的文件系统的功能。最初的虚拟机仅仅为进程提供一个访问底层的接口,它通过对硬件的复用提供给每一个进程以硬件的一个拷贝,因此能够直接的运行在硬件上的程序都可以直接运行在虚拟机之上。后来出现了另外三种体系结构的虚拟机:由机器虚拟指令映射构成的虚拟机虚拟机操作系统并没有提供一个供应用程序直接运行的现成环境,它仅仅是对硬件进行(分时)复用从而得到硬件的多个拷贝,应用程序不可以直接运行在硬件之上,因此它也无法运行在虚拟机操作系统之上。通常的情况是,普通的操作运行在虚拟机之上。而应用程序运行在各自的操作系统之上,由于虚拟机操作系统是通过(分时)复用硬件资源同时提供多台虚拟机,因此同时可以有多个不同的操作系统运行在同一物理硬件机器之上,因此可以有多个不同操作系统的应用程序可以同时运行在同一台物理硬件机器之上。   虽然虚拟机操作系统有着诱人的特性,但是最突出的一个问题是实现比较困难。如果要实现的是底层硬件的完全拷贝,也即它要模拟硬件几乎所有的特性,那将是相当困难的一件事情。因此现代许多商业虚拟机采用映射部分指令结合直接调用宿主操作系统功能的方法,但这样必然会导致虚拟机性能的损失,所以

计算机系统结构实验报告Linux,计算机操作系统体系结构实验报告.doc相关推荐

  1. Linux系统内存管理实验报告,Linux 内存管理 综合实验报告.pdf

    Linux 内存管理 综合实验报告 计算机与通信学院 Linux 内存管理 综合实验报告 指导老师:孙建华 组员 :夏槟 20040810720 段翼真 20040810503 米晓亮 2004081 ...

  2. linux使用环境实验报告,Linux 及其使用环境实验报告.doc

    计算机语言与程序设计上机实验报告 学号: 姓名: 所在系: 班级: 实验名称: 实验1 Linux 及其使用环境 实验日期 实验指导教师 实验机房及机号 ----------------------- ...

  3. linux用户和组管理的实验报告,linux用户管理任务实验报告

    linux用户管理任务实验报告 <实用操作系统>实验报告 实验报告:实验项目名称:用户管理任务 班级:学号:姓名: 地点:时间: 实验内容: 一.用户管理 (一)添加用户useradd 1 ...

  4. 实验4 Linux安装与配置实验报告(部分英文)

    实验题目 实验4  Linux安装与配置 实验目的 (1) 掌握使用 RPM 进行软件安装与包管理的方法: (2) 掌握 yum 在线安装方法和 yum 源替换方法: (3) 掌握从源代码开始安装软件 ...

  5. 使用 PSCP将文件从 Windows 计算机快速传输到 Linux计算机

    导读 开源的 PSCP 程序可以轻松地在 Windows 和 Linux 计算机之间传输文件和文件夹. 你是否正在寻找一种将文件从 Windows 计算机快速传输到 Linux计算机并再次传输回来的方 ...

  6. 自考计算机系统结构总结知识点,自考计算机系统结构复习资料.doc

    自考计算机系统结构复习资料 本章中,有以下内容是要重点复习的: 关于计算机系统结构的概念: 计算机系统结构是把各个 功能部件 组成一个系统,这些部件可以是硬件.软件或者两者的混合体. 计算机系统结构是 ...

  7. 计算机操作系统实验指导linux版,操作系统实验指导书(linux版).doc

    操作系统实验指导书(linux版) <操作系统>实验指导书 实验学时:16 适用专业:计算机科学与技术 实验一:进程和线程的创建 1. 在linux下编写一个应用程序,命名为an_ch2_ ...

  8. 计算机系统结构相关的论文,计算机系统结构毕业论文题目.doc

    计算机系统结构毕业论文题目计算机系统结构毕业论文题目 毕业论文(设计) 题 目 学 院 学 院 专 业 学生姓名 学 号 年级 级 指导教师 毕业教务处制表毕业 二〇一五年 九月毕业二十 日 一.论文 ...

  9. 【计算机系统结构】第一章 计算机系统结构基本概念

    文章目录 第一章 计算机系统结构基本概念 1.1 计算机系统结构的概念 1.2 计算机体系结构的发展 1.3 系统结构中并行性的发展 1.4 系统结构的设计 1.5 定量分析技术基础 第一章 计算机系 ...

最新文章

  1. 【jQuery】如何用jQuery实现鼠标移入后改变背景颜色
  2. Xamarin Android布局文件没有智能提示
  3. opencv图片全景拼接详解
  4. 2008R2文件服务器迁移到2012R2
  5. elasticsearch 6.6 安装(CentOS 7.5) 修订
  6. 2019中国手机品牌用户社交洞察报告:低价看配置 高价重颜值
  7. js中的let和var
  8. 智慧城市建设步入深水区 正深入到城市建设的细部环节
  9. 子树大小平衡树(SizeBalancedTree,SBT)——模板
  10. ELK——Logstash 2.2 mutate 插件【翻译+实践】
  11. sql数据库自动备份
  12. 《教我兄弟学Android逆向12 编写xpose模块》
  13. 【JAVA长虹键法】第六式 原型模式(23种设计模式)
  14. pmp 估算技术_现在是时候进行大型技术估算了
  15. linux进程关系图谱
  16. 周鸿祎带头,十家安全公司接受了这些尖锐拷问
  17. pageadmin CMS网站制作教程:如何修改栏目类型
  18. 【Mac OS】如何快速复制文件或文件夹路径
  19. vue.js — 安装Webpake创建一个完整的项目并上传至码云
  20. Android全面屏状态栏适配

热门文章

  1. 计算机窗口预览图,window_Win7系统资源管理器加上预览窗格功能的方法,  图片缩略图是否太小?PPT - phpStudy...
  2. url主机域名可以省略_从输入url到页面完成加载发生了什么
  3. C++初始化vector<vector<int>>
  4. python实现随机乱序/洗牌
  5. opencv图像处理中的一些滤波器+利用滤波器提取条形码(解析二维码)+公交卡倾斜矫正+物体尺寸丈量
  6. Android之ActionBar
  7. 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 17丨文章浏览 II【难度中等】​
  8. Python PyInstaller 安装 和 使用教程( 打包生成 exe )
  9. create 添加async和不添加的区别_鸽子饮水添加剂肝精与电解质的区别,不能混淆也不能代替...
  10. linux tcp压测工具,02.监控和压测工具 - 2.4.压测工具 - 《Linux性能调优指南》 - 书栈网 · BookStack...