加入收藏 | 设为首页 | 会员中心 | 我要投稿 上海站长网 (https://www.021zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

第一章 Unix系统编程概述

发布时间:2023-01-09 13:05:11 所属栏目:Unix 来源:网络
导读: 概念
。Unix系统包含用户程序和系统内核
。内核由多个子系统构成
。内核管理所有的程序和资源
。进程之间的通信对Unix程序是很重要的
。什么是系统编程
相关命令
。bc
。more
解决问题

概念

。Unix系统包含用户程序和系统内核

。内核由多个子系统构成

。内核管理所有的程序和资源

。进程之间的通信对Unix程序是很重要的

。什么是系统编程

相关命令

。bc

。more

解决问题

。什么是系统编程?

。什么是Unix系统编程?

。本书具体会涉及哪些知识?

1.2 什么是系统编程1.2.1 简单的程序模型

1.2.3操作系统的职责

计算机用操作系统来管理所有的资源,并将不同的设备和不同的程序链接起来。

1.2.4为程序提供服务

unix系统编程_unix环境高级编程 pdf下载_unix环境高级编程 linux程序设计

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程序。

(编辑:上海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章