程序语言与电脑系统的关系-程序语言与电脑系统的关系
1.什么是程序?什么是编程?什么是操作系统?我是菜鸟,求教,用打比方方式,说定义我看不懂。
2.为什么需要计算机语言?高级语言有哪些特点?
3.早期的计算机并没有操作系统,后来为什么出现操作系统?
4.请问,c、c++、java、c#、arm7、arm9、arm11、嵌入式、操作系统,这几者之间有什么联系与区别?
什么是程序?什么是编程?什么是操作系统?我是菜鸟,求教,用打比方方式,说定义我看不懂。
我严重怀疑你是故意的,不过我还是将一下吧
首先说说什么是操作系统。
操作系统就是你现在用的电脑的 Windows 系统,亦或是手机的 Android 系统或者 iOS 系统。
你可以把电脑看作是一辆汽车,而这个操作系统就是方向盘、刹车、油门、离合器和变档杆,一辆汽车有了这些东西就可以“操作(驾驶)”了。
当然一般情况下你能碰到的部分仅此而已,但是其实还有发动机、制动系统等很多你看不到的东西。虽然看不到,但是他们必须工作你才能进行驾驶。
然而汽车光有这些是不够的,很快的你就会发现你站着开车多么麻烦,在长途汽车中没有娱乐是多么无聊。
你想开车,就需要先转动钥匙点火,点火的时候会让蓄电池放电,然后火花塞开始点亮,这时踩下油门,汽油就会从油箱中被油泵压入发动机。汽油触碰到火花塞的明火开始燃烧,推动发动机气缸中的活塞,活塞用杠杆运动带动驱动轴。这时你松开离合器,驱动轴与传动系统连接,你的汽车启动了。
看似很难,但是其实你只做了四件事:踩下离合——转动钥匙——踩下油门——松开离合器。
同样的,在一个电脑中,我想要用QQ,只需要用鼠标去双击QQ的图标即可。但是在这个过程中其实电脑做到的事比汽车起步还要多得多,但是你做的只有双击QQ图标这一件事。
QQ就是一个程序,电脑就是按照QQ这个程序的指示去做了该做的事。
编程就更好理解了,什么东西都不是白来的,都需要去造——就好像造汽车那样。电脑是人造出来的,电脑软件也是人造出来的。制造电脑软件的过程我们称为“编程”。
正像现实生活中一样,程序也不是一条线下来的。
太过深奥的东西就专业性太强了,总之记住:
操作系统就是人类和电脑交互的界面,安卓塞班windows ios都是操作系统
程序就是操作系统里面的功能
编程就是制造程序
另外楼主忘了个概念,叫做硬件。硬件好比整个汽车上的一个个部分——发动机、方向盘、油箱、各种脚踏板,这些就是汽车的“硬件”,只有存在这些部分才能称为汽车。
电脑也是一样,电脑上需要中央处理器、快速记忆装置(内存)、硬盘、主机板等“硬件”才能运行。
但是如果你不会开车,给你个汽车不是也开不了吗?
所以软件和硬件必须同时工作才行。
为什么需要计算机语言?高级语言有哪些特点?
计算机语言是人与计算机之间传递信息的媒介。计算机系统最大特征是指令通过一种语言传达给机器。为了使电子计算机进行各种工作,就需要有一套用以编写计算机程序的数字、字符和语法规划,由这些字符和语法规则组成计算机各种指令(或各种语句)。
高级语言更接近于人们习惯使用的自然语言和数学语言。特点:功能强大,不依赖于具体机器。用高级语言编写的源程序需要通过编译程序转换为机器指令的目标程序。
扩展资料:
计算机语言的种类非常的多,总的来说可以分成机器语言,汇编语言,高级语言三大类。
电脑每做的一次动作,一个步骤,都是按照已经用计算机语言编好的程序来执行,程序是计算机要执行的指令的集合,而程序全部都是用我们所掌握的语言来编写的。所以人们要控制计算机一定要通过计算机语言向计算机发出命令。
(1)解释类:执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器,但这种方式比较灵活,可以动态地调整、修改应用程序。
(2)编译类:编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行,使用比较方便、效率较高。但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件(*.OBJ)才能执行,只有目标文件而没有源代码,修改很不方便。如今大多数的编程语言都是编译型的,例如VisualBasic、VisualC++、VisualFoxpro、Delphi等。
早期的计算机并没有操作系统,后来为什么出现操作系统?
最初的电脑没有操作系统,人们通过各种按钮来控制计算机,后来出现了汇编语言,操作人员通过有孔的纸带将程序输入电脑进行编译。这些将语言内置的电脑只能由制作人员自己编写程序来运行,不利于程序、设备的共用。为了解决这种问题,就出现了操作系统,这样就很好实现了程序的共用,以及对计算机硬件资源的管理。
第一代用的是机器语言,直到汇编语言出现才有操作系统,并且可以批处理了。通过这种方法,人们很容易去阅读 已经完成的程序或者理解程序正在执行的功能,对现有程序的bug修复以及运营维护都变得更加简单方便,这种语言就是我们所说的汇编语言, 即第二代计算机语言。
随着计算技术和大规模集成电路的发展,微型计算机迅速发展起来。从20世纪70年代中期开始出现了计算机操作系统。在美国1976年的时候就研制了DIGITAL RESEARCH软件公司出8位的CP/M操作系统。这个系统允许用户通过控制台的键盘对系统进行控制和管理,其主要功能是对文件信息进行管理,以实现其他设备文件或硬盘文件的自动存取。此后出现的一些8位操作系统多采用CP/M结构。
请问,c、c++、java、c#、arm7、arm9、arm11、嵌入式、操作系统,这几者之间有什么联系与区别?
这个问题主要涉及4个方面内容:
1. 编程语言C/C++,Java,C#
C语言诞生于上世纪60年代,是一种计算机程序设计语言,它把高级语言的基本结构和语句与低级语言的实用性结合起来,可以像汇编语言一样对位、字节和地址进行操作,具体应用比如单片机以及嵌入式系统开发。但是C中的指针操作不做保护,也给它带来了很多不安全的因素。
C++诞生于上世纪80年代,它作为C的扩充和完善,在保留了指针操作的同时又增强了安全性,同时提供面向对象等新特制以及更多的标准库。
具体表现有:
(1)类型检查更为严格。
(2)增加了面向对象的机制。
(3)增加了泛型编程的机制(template)
(4)增加了异常处理
(5)增加了运算符重载
(6)增加了标准模板库(STL)
Java于1995年由SUN公司推出,它起源于内嵌类平台的开发过程,这类场景中可用资源非常少,而编写C程序显得复杂繁琐,同时C缺少垃圾回收、安全的可移植性和多线程功能,Java应运而生。它吸取了C/C++的教训,支持面向对象的同时取消了指针操作和一些备受争议的地方,建立垃圾回收机制,在安全性和跨平台方面均取得良好的效果,但其程序体在虚拟机中解释运行,运行效率低于C/C++程序。
C#于2000年由微软公司推出用于与Java相抗争,它深受Java的影响,在继承C和C++强大功能的同时去掉了一些它们的复杂特性。C#拥有比C/C++或者Java更广泛的数据类型,与C++不同的是,C#结构体与类是不支持继承;与Java相同的是,一个结构体可以实现接口(interface),C#程序同样不能直接编译成标准的二进制可执行形式,它被编译成为中间代码,然后通过.NET Framework的虚拟机运行。
人们一般认为,使用Java或C#的开发成本比C++低,但随着代码量和复杂度的增加,C++的优势将会越来越明显,造成这种差别的就是C++的软件工程性。
JAVA的用户主要是嵌入式设备软件的开发者,而在网络服务方面,C# 的即时编译和本地代码Cache方案比Java虚拟机具有绝对的性能优势。C#将不可避免地在Windows平台上成为主角,而JAVA将在UNIX、Linux等平台上成为霸主,C++将继续在系统软件领域大展拳脚。
2. 操作系统
操作系统是管理计算机硬件资源,控制其他程序运行并为用户提供交互操作界面的系统软件的集合。操作系统是计算机系统的关键组成部分,负责管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本任务。
按应用领域划分主要有三种:桌面操作系统、服务器操作系统和嵌入式操作系统。
3. 嵌入式
提到嵌入式,有3个概念需要区分清楚:嵌入式系统、嵌入式计算机系统、嵌入式操作系统。这3个概念某种意义上存在着依次包含的关系。
所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,嵌入式系统是指用于控制、监视或者辅助操作机器和设备的装置。
它装配一种专用的计算机系统(即嵌入式计算机系统)作为该装置或设备的一部分,这个计算机系统由硬件层、中间层、系统软件层和应用软件层组成。
(1)硬件层包含嵌入式微处理器、存储器、通用设备接口、I/O接口、时钟电路等装置;
(2)中间层将系统上层软件与底层硬件分离开来,使系统的底层驱动程序与硬件无关,该层一般包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置功能;
(3)系统软件层通常指该计算机系统的操作系统,负责全部软、硬件资源的分配、任务调度,控制、协调并发活动,提供文件接口或图形接口等;
(4)应用软件层则为最上层的设备管理应用,通常它与操作系统一并固化在ROM中。
4. 嵌入式微处理器arm7,arm9,arm11
ARM系列处理器是英国ARM公司设计的主流嵌入式处理器,处理器结构体系定义了指令集、编程模式和存储器I/O接口。
ARM7:小型、快速、低能耗、集成式RISC内核,用于移动通信;
ARM9:采用了更多的晶体管,增加时钟频率和减少指令执行周期,能够达到两倍以上于ARM7处理器的处理能力;
ARM11:采用8级流水线组成,可以比5级流水线的ARM9达到更高的运行频率。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。