您的位置:首页 > 理论基础

计算机世界--操作系统

2016-09-06 00:59 218 查看

问题:

软件的运行环境指的是什么?

Windows的应用程序能够在Linux运行吗?

Java虚拟机是什么原理?

1.软件的运行环境指的是什么?

软件的运行环境是指在什么操作系统下运行、需要什么样的硬件配置等。

那么什么是操作系统呢?

在操作系统出来之前,一般的软件只是针对于某一台电脑而编写的,因为在别的电脑上可能不能运行。基于这些问题,此时,我们伟大的操作系统就出现了,微软出现 ms-dos 操作系统,最开始的这个系统相当于一个软件,相当于一个壳,我们只需要写符合这个壳的规则的软件,那么就能在每一台电脑里来运行这个程序,这个时候,伟大的操作系统就诞生了。它克服了电脑之间的差异,让我们能够更好地驾驭我们的软件,我们只需要关心和这个壳之间的通信,而不用关心与硬件先关的东西。

操作系统具有以下特点

它克服了硬件差异

提供了统一接口(标准化 统一的API)

伪装平台(比如Java,因为它有Java虚拟机)

BIOS及引导

BIOS存储在主板里面,主要进行硬件检测,以及对磁盘进行引导。为什么要进行引导呢?因为操作系统也是一个软件,它也是需要有人把它给运行起来才能工作,我们可以设置BIOS在哪个磁盘开始引导,那么它会在这个磁盘开始加载需要启动的操作系统,从而达到开机就运行我们的操作系统的目的。BIOS及指引导(开机时,会有硬件自检,还会对硬盘进行引导,从磁盘中加载需要启动的操作系统)

2.Windows的应用程序能够在Linux运行吗?答案是否定的,因为:

目前的操作系统:Windows、Linux、Mac

这三个操作系统实现的功能是一样的,但是它们又各自有各自的API,如果想让我们的代码在三种平台下运行,那么我们要进行三次编译。

3.Java虚拟机的原理是再次对不同的操作系统进行封装。

跨平台原理:

一种办法是,一次编写,处处编译,再运行(可以先获取操作系统信息,根据不同的操作系统来执行对应的代码)

另一种方法是,在三种操作系统的基础上,再加一层,把各个操作系统的API给封装起来,来达到一次编译,处处运行的目的,但是这样的跨平台是一种伪跨平台,并不是真正的跨平台。比如Java和c#。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: