程序编程层次

编程层次:

  • 硬件规格:hardware specification
  • 系统调用:system call (尽量少些,linux一般在300~500个)
  • 库调用:library call (标准c库,因为大多数OS都是c语言开发的)

如何启动(运行)一个程序:

程序都是二进制格式,程序的运行,也就是程序指令占用CPU的过程;当然有些程序不能运行的cpu指令(环0指令)就要交由内核进行执行。

程序运行的接口就是UI(user interface)有两种形式:

  • GUI (图形化方式)--> 鼠标点击运行,【鼠标点击】是个单独的程序
  • CLI (命令行方式)
介绍ABI和API
  • ABI:Application Binary Interface (不同系统上的二进制程序,不能通用)
  • API:Application Programing Interface (编程接口,面向库的编程接口)

现在的程序员,所谓的编程基本都是以面向系统的库进行编程,少部分涉及系统调用的编程,有时也会混合使用。

那么如何使编程能够跨操作系统

POS-Portable Operating System (可移植操作系统规范)出现了,因为都是基于unix或事linux,就出现了POSIX,这个IX很有可能是名字上的凑数而已。

OSABIAPI
WindowsEXEdll(dynamic link library)
LinuxELFso(shared object)

 

编程语言的层级:

 编程语言代表主要用途
 低级语言汇编微码编程,系统中某些与硬件相关的特定代码,比如驱动程序开发
 高级语言c c++系统级应用,一部分通用的驱动程序
 高级语言java python php应用程序

 

题外话,选择编程语言的重要性:

现在我们使用的智能手机操作系统,大的阵营有两种:ios 和android

大家会觉得IOS的系统比较流畅,无异常或卡顿;相反android有时会觉得卡顿或发生莫名问题。究其原因,ios系统是用object c编写,android使用linux内核+java虚拟机来写的,但是使用java这样虚拟机的程序,存在一个垃圾回收问题。

 

 

 

 

 

转载于:https://my.oschina.net/xinghaitao/blog/993680

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值