Linux编程入门(1)-理解系统编程
操作系统职责 :计算机用操作系统来管理所有的资源,并将不同的设备和不同的程序连接起来。
操作系统与普通程序一样,在内存中运行。它的特殊之处是,能把普通程序与其他程序或者设备连接起来。
内存空间用来存放程序和数据,所有的程序都必须在内存空间中才能运行,用来容纳操作系统的内存空间叫做 系统空间 ,容纳应用程序的内存空间叫做 用户空间 。
操作系统也被称为 内核 。程序要从键盘得到数据,必须向内核发出请求;若在显示器上显示结果,也要通过内核,程序中所有对设备的操作都是通过内核进行的。
操作系统的基本功能: (1)防止硬件被失控的应用程序滥用;(2)向应用程序提供简单一致的机制来控制复杂而又通常大不相同的低级硬件设备。
在进行系统编程时,必须对系统的结构和工作方式有更深的了解,要知道内核提供哪些服务(系统调用),如何使用他们,系统有哪些资源和设备,不同的资源和设备如何操作。
Linux系统编程中3个重要的方面:
内存被分为系统空间和用户空间,内核和它的数据结构位于系统空间,用户程序位于用户空间。用户通过终端连接到系统。文件存放在磁盘上,各种各样的设备被内核直接管理。用户程序可以通过内核来访问设备。用户也可以通过网路接入系统。