论计算机系统层次化结构
2016-06-03孙程智
孙程智
摘 要 按照在计算机上完成任务的不同,可以把计算机的用户分成以下4类:最终用户、系统管理员、应用程序员和系统程序员。计算机最终用户使用键盘和鼠标等外设与计算机交互,通过操作系统提供的用户界面,启动执行应用程序或系统命令,从而完成用户任务。因此,最终用户能够感知到的只是系统提供的简单人机交互界面和安装在计算机中的相关应用程序。
关键词 应用程序员 系统 管理员
中图分类号:TP391 文献标识码:A
1使用应用程序完成特定任务的计算机用户成为最终用户
在最终用户眼中,早期的计算机非常昂贵,只能由少数专业化人员使用。但是到了20世纪80年代个人计算机迅速普及,以及20世纪90年代初多媒体计算机的广泛应用,特别是互联网技术的发展,计算机已经成为了人们日常生活中的重要工具。计算机最终用户使用键盘和鼠标等外设与计算机交互,通过操作系统提供的用户界面,启动执行应用程序或系统命令,从而完成用户任务。因此,最终用户能够感知到的只是系统提供的简单人机交互界面和安装在计算机中的相关应用程序。
2计算机在系统管理员眼中的存在
系统管理员作为管理和维护计算机系统的专业人员,相比于普通的计算机最终用户而言,对计算机系统的了解要深入得多。必须能非常熟悉操作系统提供的有关系统配置和管理方面的功能、系统管理员必须能够解决,很多普通用户解决不了的问题,还要必须能安装配置、维护系统的硬件和软件,能建立和管理用户账户,需要时能够升级硬件和软件,备份和恢复业务系统和数据等,软件配置和系统管理层面以及相关的使用程序,系统管理员能感知到的是系统中部分硬件层面,以及相关实用程序和人机交互界面。在开发操作系统,编译器和实用程序等系统软件时、需要能够熟悉计算机底层和相关硬件和系统结构,甚至还需要直接与指令系统和计算机硬件打交道。比如:“对各种控制计算器I/O接个口、用户可见集成器直接进行编程和控制、所以系统程序员有时还要直接用汇编语言等低级程序,设计语言编写程序代码,必须熟悉指令系统、及其结构和相关几期功能特性”。
3计算机在应用程序员眼中的存在
计算机系统除了计算机硬件、操作系统提供的编程接口(API)、相应的程序语言处理系统和人机交互界面、还包括实用程序,这是应用程序员所看到的计算机系统。高级程序设计语言(High level programming language)是指面向算法设计得较接近于日常所用的英语书面语言的设计语言,例如BASC、C、FORTRAN、java等,所以大多应用程序员使用高级程序设计语言编写程序。
4系统程序员的程序开发与执行过程
程序的开发和执行设计计算机系统的各个不同层面,因为计算机系统层析话结构的思想体现在程序开发和执行过程的各个环节中。程序开发通过程序编辑软件得到hello.C文件。Hello.c在计算机中以ASCII字符方式存放。然后再将hello.c进行预处理、编译、汇编和连接,最终生成颗执行代码文件。
计算机的控制器自动执行的是指令,每条指令由操作码和地址码两部分组成,操作码是指出操作类型,地址码之处操作数的地址。执行程序世纪上是执行一个指令序列。也就是说不管用什么高级语言编写的程序都能够转换为一个指令序列才能在计算机上执行。任何高级语言源程序和汇编语言源程序都必须转换为机器语言程序才能被计算机执行,通常这种进行转换的软件被称之为“程序设计语言处理系统”。应用程序员和系统程序员都是借助“程序设计语言处理系统”来开发软件。任何一个语言处理系统,都包含一个翻译系统,它能够把一种编程语言表示的程序转换为等价的另一种编程语言程序。翻译程序有以下三类。
(1)汇编程序:也称汇编器,涌来将汇编语言源程序翻译成机器语言目标程序。
(2)解释程序、也称计时器,涌来将源程序中的语句按其执行顺序逐条翻译成机器指令必过立即执行。例如,BASIC解释程序直接气功BASIC源程序执行,不生成目标程序。
(3)编译程序:也称编译器,涌来将高级语言源程序翻译成汇编语言或机器语言目标程序。
5总结
在计算机技术中,一个存在的实物或概念从某个角度看似不存在,成为透明性现象。通常,在一个计算机系统中,系统程序员所看到的底层机器级的概念性结构和功能也行对高级语言程序员(通常就是应用程序员)来说是透明的,即看不见的。一个计算机系统可以认为是由各种硬件和各类软件采用层次化方式构建的分层系统,不同用户工作在不同的系统结构层。因此:系统管理员工作在操作系统层所看到的是配置了操作系统的虚拟机器,汇编语言程序员工作在提供汇编程序的虚拟机器,应用程序员大多工作在提供翻译器或者解释器等翻译程序的语言处理系统中,最终用户则工作在最上面的应用程序层。