操作系统
执行的活动的程序的副本,叫做进程。进程是实现资源分派的单位。操作系统完成进程管理、优先级识别等。
操作系统提供安全功能,保证进程之间不互相干扰。
OS作用:cpu时间分配
内存管理
进程管理
安全功能
驱动硬件(内核自带或第三方安装)
任何硬件都需要驱动,只不过很多硬件驱动是操作系统内置。
操作系统接收用户指令方式:GUI (Graphic User Interface)图形界面
Cli (Command Line Interface)命令行
使用GUI的都是终端用户。
通过“系统调用(system call)”与内核打交道,300多个 程序员就是组合各种系统调用
再次封装某些特定功能的系统调用,成为更通用的功能,封装起来的通用功能叫“库(lib)”。库是一对可执行的函数(function)
库的两种调用方式:静态编译
动态编译(动态链接库、动态共享库),节省磁盘、内存空间。glibc是Linux上为c语言提供底层运行库。
操作系统层次:硬件---内核---库(非必须,但有的话更方便)---应用程序(shell是一个特殊的应用程序)
任何应用程序只能通过内核访问硬件。操作系统在内存运行后,在低端区域(内存是分段的)有一段是任何程序无法访问,只有内核可以访问,成为内核空间。用户可以访问的称为用户空间。
Linux 和 Windows的库不相同,所以软件不通用。但UNIX和Linux的库调用规范相同,保证软件可移植性,成为POS,或POSIX,是库的兼容标准。Linux遵循POSIX协议。
API:应用编程接口,就是库的接口,调用库方式的集合。
ABI:应用程序二进制接口。二进制编译格式不同,应用运行格式不同,也不能跨平台。Linux和UNIX的ABI相同,才能跨平台。