第一章 Unix系统编程概述
。Unix系统包含用户程序和系统内核
。内核由多个子系统构成
。内核管理所有的程序和资源
。进程之间的通信对Unix程序是很重要的
。什么是系统编程
相关命令
。bc
。more
解决问题
。
概念 。Unix系统包含用户程序和系统内核 。内核由多个子系统构成 。内核管理所有的程序和资源 。进程之间的通信对Unix程序是很重要的 。什么是系统编程 相关命令 。bc 。more 解决问题 。什么是系统编程? 。什么是Unix系统编程? 。本书具体会涉及哪些知识? 1.2 什么是系统编程1.2.1 简单的程序模型 1.2.3操作系统的职责 计算机用操作系统来管理所有的资源,并将不同的设备和不同的程序链接起来。 1.2.4为程序提供服务 1.用来容纳操作系统的内存空间叫做系统空间,容纳应用程序的内存空间叫做用户空间。 2.程序要访问设备(如键盘、磁盘)必须通过内核,所以只有内核才能直接管理设备。 1.3理解系统编程 1.3.1系统资源 1.处理器(Processor) 程序是由指令构成的,处理器是执行指令的硬件设备,一个系统中可能有多个处理器,内核能够安排一个程序何时开始执行,何时暂时停止、恢复执行、何时中止执行。 2.输入输出(I/O) 程序中所有的输入/输出数据、终端的输入/输出数据还有硬盘输入/输出数据,都必须流经内核,这种集中的处理方式有以下优点: 正确性:数据不会流错地方 有效性:程序员无需考虑不同设备之间的差异 安全性:数据信息不会被未授权的程序非法访问 3.进程管理(Process Management) 进程指程序的一次运行,每个进程都有自己的资源,如内存,打开文件和其他运行所需的系统资源。内核中与进程相关的服务有新建一个进程、中止进程、进程调度等。 4.内存(Memory) 内存是计算机系统中很重要的资源,程序必须被装到内存中才可以运行。内核的职责之一就是内存管理,在需要的时候给程序分配内存,当程序不需要的时候回收内存,内核还能保证内存不被其他进程非法访问。 5.设备(Device) 计算机中可以有各种各样的外设,如磁带机、光驱、鼠标、扫描仪和数码摄像机等,他们的操作方式各不相同,内核能屏蔽掉这种差异,使得对设备的操作方式简单而单一。 6.计时器(Timers) 程序的工作与时间有关,有的需要定时触发,有的需要等一段时间再开始某个动作,有的需要知道某一个操作消耗的时间,这些都涉及计时器,内核可以通过系统调用向应用程序提供计时器服务。 7.进程间的通信(Interprocess Communication) 在现实生活中人们通过电话、Email、信件、广播、电视等互相通信,在计算机的世界中,不同的进程也需要互相通信,内核提供的服务使进程间通信成为可能。就像电信和邮政提供的服务,通信也是资源。 8.网络(Networking) 网络之间的通信可以看做是进程的特殊形式,通过网络unix系统编程,不同主机上的进程,即使使用的是不同的操作系统,也可以相互通信。网络通信也是内核提供的服务。 1.3.3方法:通过三个问题来理解 本书通过以下3个步骤来学习。 1.分析程序:首先分析现有的程序,了解他的功能以及实现原理 2.学习系统调用:看程序都用到哪些系统调用,以及每个系统调用的功能和使用方法。 3.编程实现:利用学到的原理和系统调用,自己编程实现原来程序所实现的功能 以上3步通过下面3个问题来实现: 1.它能做什么? 2.它如何实现? 3.能不能自己编写一个? 1.4从用户的角度来理解Unix 1.4.1 Unix能做什么 从普通登录到终端的普通用户来看UNIX是什么?它能做什么? 1.4.2登录--运行程序--注销 系统验证通过后,会启动一个叫shell的进程,然后把用户交给这个进程,由这个进程处理用户的请求。每个用户都有属于自己的shell程序。 (编辑:海南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |