软件开发学习-计算基础概念-软件组成部分

为了便于非计算机专业的软件开发者学习,我们将从最基础的内容开始撰写

计算机是由硬件系统(hardware system)和软件系统(software system)两部分组成的。

计算机的发展历史点击下方链接查看

http://baike.baidu.com/subview/3314/3314.htm

计算机软件是由系统软件和应用软件构成的。

系统软件是计算机系统中最靠近硬件一层的软件,其他软件一般都通过系统软件发挥作用。他与具体的应用领域无关,如编译程序和操作系统等。编译程序吧编译人员用高级语言书写的程序翻译成与之等价的,可执行的低级语言程序,操作系统则负责管理系统的各种资源,控制程序的执行。在任何计算机系统的设计中,系统软件都要给予优先考虑。(系统软件是由编译程序,操作系统,系统工具软件组成)

我们先看下操作系统存在的位置


软件开发学习-计算基础概念-软件组成部分_第1张图片

我们要开发一款应用程序,对于操作系统很重要(当然我们也可以选择跨平台开发工具开发应用软件,但跨平台工具开发,实质也是从该操作系统本身的开发,后续我们会单独讲跨平台开发实现原理)

例如Android操作系统的内部图


软件开发学习-计算基础概念-软件组成部分_第2张图片

硬件厂商一般对自己生产的设备,提供驱动程序。比如声卡厂商。

驱动程序API一般是由汇编或者C开发。

操作系统主要功能:

驱动(内核):调用硬件厂商的API

系统(内核):处理器管理、设备管理、文件管理等等

系统(库):封装常用的API给上层应用程序调用。

Java虚拟机:Java应用程序环境---不是全部操作系统有这个虚拟机。需要操作系统开发厂商支持。

应用开发框架:此框架封装了全部可供上层应用调用的API。

操作系统自带应用程序:Home主界面、Phone打电话等等。这些应用一般不允许被卸载。

第三方厂商应用程序:QQ、WeiChat、Game等等。

常见的操作系统有以下

计算机

Windows

Linux

Mac OS X


手机

Android

iOS

WindowsPhone

常见的操作系统本身是基于C、C++开发的。

操作系统的版本,比如Android现在的操作系统版本下图,一个操作系统从出生到现在会经历N个版本。对于我们开发应用程序一定要了解版本迭代情况。为什么? 有些API在新的版本不能使用,如果使用会导致应用程序直接异常退出。

软件开发学习-计算基础概念-软件组成部分_第3张图片

怎么查看一台计算机的操作系统名称及操作系统类型,见下图

软件开发学习-计算基础概念-软件组成部分_第4张图片

本文由leo撰写spring校验,文字排版校验由laura完成,我们的QQ群:455147775

你可能感兴趣的:(软件开发学习-计算基础概念-软件组成部分)