计算机系统结构就是计算机的的机器语言程序员或编译程序编写者所看到的外特性。所谓外特性,就是计算机的概念性结构和功能特性。用一个不恰当的比喻一,比如动物吧,它的"系统结构"是指什么呢
它的概念性结构和功能特性,就相当于动物的器官组成及其功能特性,如鸡有胃,胃可以消化食物。至于鸡的胃是什么形状的、鸡的胃部由什么组成就不是"系统结构"研究的问题了。系统结构只管到这一层。关于计算机系统的多层次结构
计算机系统结构的外特性,一般应包括以下几个方面
(1)指令系统
(2)数据表示
(3)作数的寻址方式
(4)寄存器的构成定义
(5)中断机构和例外条件
(6)存储体系和管理
(7)I/O结构
(8)机器工作状态定义和切换
(9)信息保护。
计算机系统层次结构,指的是计算机系统由硬件和软件两大部分所构成,而如果按功能再细分,可分为7层。把计算机系统按功能分为多级层次结构,就是有利于正确理解计算机系统的工作过程,明确软件,硬件在计算机系统中的地位和作用。
第零级是硬联逻辑级,这是计算机的内核,由门,触发器等逻辑电路组成。
第一级是微程序级。这级的机器语言是微指令集,程序员用微指令编写的微程序,一般是直接由硬件执行的。
第二级是传统机器级,这级的机器语言是该机的指令集,程序员用机器指令编写的程序可以由微程序进行解释。
第三级是 *** 作系统级,从 *** 作系统的基本功能来看,一方面它要直接管理传统机器中的软硬件资源,另一方面它又是传统机器的延伸。
第四级是汇编语言级,这级的机器语言是汇编语言,完成汇编语言翻译的程序叫做汇编程序。
第五级是高级语言级,这级的机器语言就是各种高级语言,通常用编译程序来完成高级语言翻译的工作
第六级是应用语言级,这一级是为了使计算机满足某种用途而专门设计的,因此这一级语言就是各种面向问题的应用语言。
参考资料
考试资料网:>
Android以Java为编程语言,使接口到功能,都有层出不穷的变化,其中Activity等同于J2ME的MIDlet,一个Activity类(class)负责创建视窗(window),一个活动中的Activity就是在foreground(前景)模式,背景运行的程序叫做Service。两者之间通过由和AIDL连结,达到复数程序同时运行的效果。如果运行中的Activity全部画面被其他Activity取代时,该Activity便被停止(stopped),甚至被系统清除(kill)。
View等同于J2ME的Displayable,程序人员可以通过View类与“XMLlayout”档将UI放置在视窗上,Android15的版本可以利用View打造出所谓的Widgets,其实Widget只是View的一种,所以可以使用xml来设计layout,HTC的AndroidHero手机即含有大量的widget。至于ViewGroup是各种layout的基础抽象类(abstractclass),ViewGroup之内还可以有ViewGroup。View的构造函数不需要在Activity中调用,但是Displayable的是必须的,在Activity中,要通过()来从XML中取得View,Android的View类的显示很大程度上是从XML中读取的。View与事件(event)息息相关,两者之间通过Listener结合在一起,每一个View都可以注册一个eventlistener,例如:当View要处理用户触碰(touch)的事件时,就要向Android框架注册View。另外还有Image等同于J2ME的BitMap。在模拟器上运行仿真是虚拟设备(AVD),我们需要配置来运行我们的Android应用程序。步骤1、开放的AVD管理步骤2、新的按钮,点击添加新设备,并配置您的设备设置。步骤3、会有一个结果窗口显示所有已配置你上一屏幕选择。步骤4、按“确定”,你将会看到你的设备列在有你可以关闭此窗口。步骤5、运行你的Android应用程序项目从Eclipse,如果只有一个AVD配置,它会自动部署的应用程序也会出现一个窗口,选择你的。仿真器将开始。在设备上运行
Android应用程序可以直接部署在Android设备上,这几个配置所需要的。步骤1、在调试模式的设置可以设置应用程序:Android的元真可调试属性。ADT8这是默认的。步骤2、您的设备上启用USB调试:Android32或以上转至设置>应用程序>开发和启用USB调试。在Android4更新,这是开发商选择设置>。注:在Android42更新,开发者选项是默认隐藏。可以,去设定>android的版本号。返回先前屏幕找到开发商选择。步骤3、安装USB驱动程序为您的设备,计算机识别你的设备。步骤4、一旦设置和您的设备通过USB连接,从Eclipse菜单栏安装您的应用程序在设备上选择运行>运行(或运行>调试)。 *** 作系统与应用程序的沟通桥梁,并用分为两层:函数层(Library)和虚拟机(VirtualMachine)。Bionic是Android改良libc的版本。Android同时包含了Webkit,所谓的Webkit就是AppleSafari浏览器背后的引擎。Surfaceflinger是就2D或3D的内容显示到屏幕上。Android使用工具链(Toolchain)为Google自制的BionicLibc。
Android采用OpenCORE作为基础多媒体框架。OpenCORE可分7大块:PVPlayer、PVAuthor、Codec、PacketVideoMultimediaFramework(PVMF)、OperatingSystemLibrary(OSCL)、Common、OpenMAX。
Android使用skia为核心图形引擎,搭配OpenGL/ES。skia与LinuxCairo功能相当,但相较于LinuxCairo,skia功能还只是阳春型的。2005年Skia公司被Google收购,2007年初,SkiaGL源码被公开,Skia也是GoogleChrome的图形引擎。
Android的多媒体数据库采用SQLite数据库系统。数据库又分为共用数据库及私用数据库。用户可通过类(Column)取得共用数据库。
Android的中间层多以Java实现,并且采用特殊的Dalvik虚拟机(DalvikVirtualMachine)。Dalvik虚拟机是一种“暂存器型态”(RegisterBased)的Java虚拟机,变量皆存放于暂存器中,虚拟机的指令相对减少。
Dalvik虚拟机可以有多个实例(instance),每个Android应用程序都用一个自属的Dalvik虚拟机来运行,让系统在运行程序时可达到优化。Dalvik虚拟机并非运行Java字节码(Bytecode),而是运行一种称为dex格式的文件。Android的HAL(硬件抽像层)是能以封闭源码形式提供硬件驱动模块。HAL的目的是为了把Androidframework与Linuxkernel隔开,让Android不至过度依赖Linuxkernel,以达成kernelindependent的概念,也让Androidframework的开发能在不考虑驱动程序实现的前提下进行发展。
HALstub是一种代理人(proxy)的概念,stub是以so档的形式存在。Stub向HAL“提供” *** 作函数(operations),并由Androidruntime向HAL取得stub的operations,再callback这些 *** 作函数。HAL里包含了许多的stub(代理人)。Runtime只要说明“类型”,即moleID,就可以取得 *** 作函数。Android是运行于Linuxkernel之上,但并不是GNU/Linux。因为在一般GNU/Linux里支持的功能,Android大都没有支持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android又以bionic取代Glibc、以Skia取代Cairo、再以opencore取代FFmpeg等等。Android为了达到商业应用,必须移除被GNUGPL授权证所约束的部份,例如Android将驱动程序移到userspace,使得Linuxdriver与Linuxkernel彻底分开。bionic/libc/kernel/并非标准的kernelheaderfiles。Android的kernelheader是利用工具由Linuxkernelheader所产生的,这样做是为了保留常数、数据结构与宏。
Android的Linuxkernel控制包括安全(Security),存储器管理(MemoryManagemeat),程序管理(ProcessManagement),网络堆栈(NetworkStack),驱动程序模型(DriverModel)等。下载Android源码之前,先要安装其构建工具Repo来初始化源码。Repo是Android用来辅助Git工作的一个工具。
答:
第一种:顺序结构
顺序结构表示程序中的各个 *** 作时按照它们在源代码中的排列顺序依次执行的,其流程如图所示。
图中的S1和S2表示;两个处理步骤,这些处理步骤可以是一个非转移 *** 作或多个非转移 *** 作,甚至可以是空 *** 作,也可以是三种基本 *** 作中的任意一种结构,整个顺序结构只有一个入口点a和一个出口点b。这种结构的特点是:程序从a出开始,按顺序执行所有 *** 作,知道出口b处,所以称为顺序结构。
第二种:选择结构 选择结构表示程序处理需要根据某个特定条件选择其中一个分支执行。选择结构有单选择、双选择、多选择。其流程如图所示。
第三种:循环结构 循环结构表示程序反复执行某个或某些 *** 作,直到满足特定条件时结束,循环结构有两种基本形式:当型循环和直到型循环,其流程如图所示。
计算机系统的层次结构:
1、微程序设计级 ---- 第1级
该级的编程工具是微指令集,程序员用微指令编写的微程序,由硬件直接执行。(如图中最下一行右边的PCWrite =1表示对PC寄存器的写控制,详细内容在控制器部分将详细学习)
2、传统机器级 ---- 第2级
该级的编程工具是计算机的机器语言指令集,程序员用机器指令编写的程序由微程序进行解释执行
3、 *** 作系统级 --- 第3级
从 *** 作系统的基本功能来看,一方面它直接管理传统机器中的软硬件资源,另一方面它又是传统机器的延伸
4、汇编语言级 --- 第4级
该级的编程工具是汇编语言指令集。与第二层所采用的机器语言编程工具相比,采用汇编语言编写程序便于理解与记忆
5、高级语言级 --- 第5级
该集的编程工具是各种高级语言如C语言等,高级语言源程序通常用编译程序来完成高级语言翻译后才能被底层的硬件执行
6、层次之间的关系
1)各层次之间的关系十分密切,高层是低层功能的扩展,低层是高层实现的基础。
2)站在不同的层次观察计算机系统,到关于计算机不同的概念。上图第二列分别对应地给出了从高级语言、汇编语言、机器语言和微程序设计级所看到的计算机的不同编程工具。
拓展:
计算机系统指用于数据库管理的计算机硬软件及网络系统。数据库系统需要大容量的主存以存放和运行 *** 作系统、数据库管理系统程序、应用程序以及数据库、目录、系统缓冲区等,而辅存则需要大容量的直接存取设备。此外,系统应具有较强的网络功能。
计算机系统的特点是能进行精确、快速的计算和判断,而且通用性好,使用容易,还能联成网络。①计算:一切复杂的计算,几乎都可用计算机通过算术运算和逻辑运算来实现。②判断:计算机有判别不同情况、选择作不同处理的能力,故可用于管理、控制、对抗、决策、推理等领域。③存储:计算机能存储巨量信息。④精确:只要字长足够,计算精度理论上不受限制。
详细内容请在 百度百科 计算机系统 中了解
内核是 *** 作系统最基础的构件,因而,内核结构往往对 *** 作系统的外部特性以及应用领域有着一定程度的影响。尽管随着理论和实践的不断演进, *** 作系统高层特性与内核结构之间的耦合有日趋缩小之势,但习惯上,内核结构仍然是 *** 作系统分类之常用标准!
内核的结构可以分为单内核、微内核、混合内核、外内核等。
单内核(Monolithic kernel),又称为宏内核。单内核结构是 *** 作系统中各内核部件杂然混居的形态,该结构于1960年代(亦有1950年代初之说,尚存争议),历史最长,是 *** 作系统内核与外围分离时的最初形态。
微内核(Microkernel),又称为微核心。微内核结构是1980年代产生出来的较新的内核结构,强调结构性部件与功能性部件的分离。20世纪末,基于微内核结构,理论界中又发展出了超微内核与外内核等多种结构。尽管自1980年代起,大部分理论研究都集中在以微内核为首的“新兴”结构之上,然而,在应用领域之中,以单内核结构为基础的 *** 作系统却一直占据着主导地位。
混合内核(Hybrid kernel)像微内核结构,只不过它的组件更多的在核心态中运行,以获得更快的执行速度。
外内核(Exokernel)的设计理念是尽可能的减少软件的抽象化,这使得开发者可以专注于硬件的抽象化。外核心的设计极为简化,它的目标是在于同时简化传统微内核的讯息传递机制,以及整块性核心的软件抽象层。
在众多常用 *** 作系统之中,除了QNX和基于Mach的UNIX等个别系统外,几乎全部采用单内核结构,例如大部分的Unix、Linux,以及Windows(微软声称Windows NT是基于改良的微内核架构的,尽管理论界对此存有异议)。 微内核和超微内核结构主要用于研究性 *** 作系统,还有一些嵌入式系统使用外核!
以上就是关于计算机系统结构是什么全部的内容,包括:计算机系统结构是什么、计算机系统有哪些层次结构、android软件开发的架构(android的系统架构)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)