接口格式 ABI
应用编程接口 API
12.CPU的架构类型:X86 X64 ARM M68000 POWER
13.操作系统有
Windows
Linux
Unix
GNU组织发起 软件自由运动
GNU:宣传的口号或者说意图 GNU
这个组织制定了一个GPL协定 (免费)
宣言开源免费的GNU组织,却没有应该有的操作系统,后来的Linux解决了GNU的尴尬
14.开发操作系统的程序员,一定是面向硬件规格进行开发,开发难度大,所以操作系统的更新换代会慢的多
而基于操作系统的系统调用开发,相对简单,因为操作系统已经把底层硬件隐藏,向上提供统一和易理解的接口
当然还有基于库调用的开发,原理是将操作系统提供的接口再次封装成库,调用库完成开发
15.应用程序可以直接调用运行普通指令,当应用程序要调用特殊指令时,会交由操作系统进行系统调用。此时,是操作系统在运行,得到结果后,返回给应用程序。
16.程序运行有两个模式
用户模式(也叫用户空间) user space
内核模式(也叫内核空间) system space
15中的现象体现了这两个模式
17.现代操作系统都是多用户多进程
18.在操作系统上,都有库,C库(也叫系统库)
在Windows中,可运行程序格式是 .exe 库文件格式是 .dll
在Linux中, 可运行程序格式是 elf 库文件格式是 so (全称shared object ) 每个程序员都可以调用,共享对象,减少内存资源的浪费
19.程序=指令+数据
指令是CPU指令,不可修改,只读
数据 可读写
程序=算法 + 数据结构
库调用:系统调用,允许被调用的程序
被调用 不修改,只读代码
20.编程语言
汇编语言
(微弱编程 )系统中某些硬件相关的特有代码,驱动程序程序员
高级语言(C C++)
系统级应用,驱动程序
(例如MySQL)
高级语言
Java python PHP
应用程序
原文:https://blog.51cto.com/12721002/2482245