<div class="iteye-blog-content-contain" style="font-size: 14px"></div>
若从事IT软件行业,那编程的重要性就不言而喻了。今天正式开启我的系统编程之旅。
软件的分类:
系统软件:是与内核与核心库进行交互。
应用软件:提供应用的软件。
系统软件:如shell,文本编辑器,编译器,调试器,守护进程,网络服务,WEB服务,数据库等都是系统软件的范畴。
应用软件:说不完。此处省略。
那系统编程与应用编程有哪些共性和区别呢?
系统编程:程序员必须非常熟悉和深入了解操作系统和硬件。与内核和核心库进行交互。
应用编程:除了有系统编程的特性外,还要与更高层的库进行交互。这些库是把操作系统和硬
件的细节封装起来了。
那封装这些库的好处是什么呢?
1:增加程序的可移植性
2:增强兼容性
3:构建更高更强的工具箱
系统编程有三大基石:系统调用,C库,C编译器。
1:系统编程始于系统调用,终于系统调用。系统调用就是向OS请求服务和资源,是从用户空间如VI,游戏等向内核发起的函数调用。如READ(),WRITE()等。
2:C库,glibc是linux最底层的C运行库,封装了linux的系统服务。
3:C编译器,gcc
系统层上,两组独立的影响可移植性的定义和描述。API应用程序编程接口和ABI应用程序二进制接口。都用来定义计算机软件的不同模块间的接口。
API:定义了两个软件模块之间在源代码层交互的接口。
ABI:定义了两个软件模块在特定体系结构上二进制接口。定义应用内部及应用与内核与核心库如何交互。
分享到:
相关推荐
单片机入门知识与基本概念,是关于51单片机的
Java入门基本概念教程:JRE、JDK、.class、.java、JVM、跨平台、模块化
Java新手入门的30个基本概念。Java新手入门的30个基本概念。
本文的目的是为刚刚接触COM的程序员提供编程指南,并帮助他们理解COM的基本概念。内容包括COM规范简介,重要的COM术语以及如何重用现有的COM组件。本文不包括如何编写自己的COM对象和接口。
学习java必备Java新手入门的30个基本概念 .txt
高速PCB设计入门基本概念.doc
Linux基本概念及入门教程,用过都说好
入门推荐:EMI、EMS基本概念答疑pdf,
定向井技术(入门基本概念).doc
支付清结算之基本概念和入门 .doc
5G入门网络架构以及基本概念
Java新手入门必须掌握的基本概念,非常有用
信息系统基本概念课程资源专业指导信息系统入门课件
Java入门需掌握的30个基本概念
软件测试入门PPT,软件测试的基本概念,对于从事软件测试的人员是一个很好的入门和提升的PPT。 内容目标: 正确理解软件测试的背景、软件缺陷和故障的概念 正确理解软件测试的意义 正确理解软件开发过程与软件测试...
Java新手入门的30个基本概念