计算机系统基础(一):程序的开发和执行及其支撑环境

一个典型程序的转换处理过程

举个例子

#include<stdio.h>
int main()
{
	printf("hello,world\n");    
}

得到的源程序hello.c 是用ASII文本表示的,体现的是十进制

来看一下hello.c这样的一个**(十进制)文本源程序如何在GCC+Linux平台变为可执行目标程序(二进制)**

在这里插入图片描述

当成功弄出了hello这样的可执行目标程序,就会把它放在存储单元中

你只需要在Linux shell平台输入 $./hello

就会看到运行结果 : hello.world

在这里插入图片描述

在这里插入图片描述

开发和运行程序需什么支撑

  • 最早的程序开发很简单:直接输入指令和数据,启动后把第一条指令地址送PC开始执行
  • 用高级语言开发程序需要复杂的支撑环境(怎样的环境?)
    • 需要编辑器编写源程序
    • 需要一套翻译转换软件处理各类源程序
      • 编译方式:预处理程序、编译器、汇编器、链接器
      • 解释方式:解释程序
    • 需要一个可以执行程序的界面(环境)
      • GUI方式:图形用户界面
      • CUI方式:命令行用户界面

支撑程序开发和运行的环境由系统软件提供

最重要的系统软件是操作系统语言处理系统

语言处理系统运行在操作系统之上,操作系统利用指令管理硬件

早起计算机系统的层次

  • 最早的计算机用机器语言编程(机器语言称为第一代程序设计语言)
    • 应用程序
    • 指令集体系结构
    • 计算机硬件
  • 后来用汇编语言编程(汇编语言称为第二代程序设计语言)
    • 应用程序
    • 汇编程序
    • 操作系统
    • 指令集体系结构
    • 计算机硬件
  • 现代计算机用高级语言编程
    • 应用程序
    • 语言处理系统:各种语言处理程序(如编译、汇编、链接),运行时系统(如库函数、调试、优化等功能)
    • 操作系统:包括人机交互界面、提供服务功能的内核例程
    • 指令集体系结构
    • 计算机硬件

总结:

可以看出语言的发展是一个不断“抽象”的过程,因而,相应的计算机系统也不断有新的层次出现

猜你喜欢

转载自blog.csdn.net/weixin_42036647/article/details/88256079