现在的位置: 首页 > 综合 > 正文

【Unix】基础知识

2018年04月23日 ⁄ 综合 ⁄ 共 1223字 ⁄ 字号 评论关闭

一、引言

所有操作系统都向它们运行的程序提供服务。典型的服务有执行新程序、打开文件、读文件、分配存储区、获取当前时间等

 

二、登录

登录名、shell

 

三、文件和目录

 

四、输入和输出

1、文件描述符

文件描述符是一个小的非负整数,内核用以标识一个特定进程正在存访的文件。当内核打开一个现存文件或创建一个新的文件

时,它就返回一个文件描述符。当读、写文件时,就可使用它。

2、标准输入、标准输出、标准出错

按惯例,每当运行一个新程序时,所有的shell都为其打开三个描述符:标准输入、标准输出、标准出错。

3、不用缓冲的IO

4、标准IO

 

五、程序和进程

1、程序

程序是存放在磁盘文件中的可执行文件。使用6个exec函数中的一个由内核将程序读入存储器,并使其执行。

2、进程

程序的执行实例被称为进程。某些操作系统用任务表示正在执行的程序。

每个unix进程都有一个唯一的数字标示符,称为进程ID。

3、进程控制

有三个用于进程控制的主要函数:fork、exec、waitpid。

 六、ANSI C

1、函数原型

2、类属指针

3、原始系统数据类型

 

七、出错处理

 

八、用户标识

 

九、信号

1、信号时通知进程已发生某种条件的一种技术。

2、进程如何处理信号有三种选择:

忽略该信号

按系统默认方式处理

提供一个函数,信号发生时调用该函数

3、signal函数可以指定当产生信号时要调用的函数名

 

十、UNIX时间值

1、UNIX系统一直使用两种不同的时间值

日历时间:该值是自1970年1月1日00:00:00以来UTC所经过的秒数累计值。这些时间值可以用于记录文件

最近一次的修改时间等

进程时间:也称为CPU时间,用以度量进程使用的中央处理机资源。进程时间以时钟滴答计算。多年来,每秒钟

取50、60或100个滴答。系统基本数据类型clock_t保存这种时间值。

sysconf函数可得到每秒时钟滴答数。

2、当度量一个进程的执行时间时,Unix系统使用三个进程时间值:

时钟时间

用户CPU时间

系统CPU时间

3、时钟时间又称为墙上时钟时间。它是进程运行的时间总量,其值与系统中同时运行的进程数有关。在我们报告时钟时间时,

都是在系统中没有其他活动时进行度量的。

4、用户CPU时间时执行用户指令所用的时间量。

5、系统CPU时间是为该进程执行内核所经历的时间。

6、用户CPU时间和系统CPU时间的和常被称为CPU时间。

 

十一、系统调用和库函数

1、所有的操作系统都提供多种服务的入口点,由此程序向内核请求服务。

2、各种版本的Unix都提供经良好定义的有限数目的入口点,经过这些入口点进入内核,这些入口点被称为系统调用。

3、Unix所使用的技术是为每个系统调用在标准C库中设置一个具有同样名字的函数。用户进程用标准C调用序列来调用

这些函数,然后,函数又用系统所要求的技术调用相应的内核服务。

4、应用程序可以调用系统调用或库函数,而很多库函数则会调用系统调用。

5、系统调用通常提供一种最小界面,而库函数通常提供比较复杂的功能。

 

抱歉!评论已关闭.