Linux基础知识

体系结构

Linux下体系结构从上到下可定义为:
1. 应用软件;
2. shell命令行解释器;
3. 系统调用/库函数;
4. 内核;
头文件, 包含很多的标准的系统头文件,定义了很多的系统常量以及函数原型。

输入输出

  • 文件描述符(file descriptor)
    用来标示一个特定进程正在访问的文件。通常是一个小的非负整数;
    每个进程开始的时候,shell都会为其打开三个文件描述符:
    1、标准输入(standard input); 0
    2、标准输出(standard output); 1
    3、标准错误(standard error); 2
  • 不用缓冲的IO
    read 、 write 、 open 、close 、 lseek 都不提供缓冲区;
    直接使用文件描述符的都没有使用缓冲区;
    该头文件包含了很多的系统服务的函数原型;
  • 标准IO
    标准IO提供一种对不用缓冲IO函数的带缓冲的接口;

进程、程序

  • 程序
    程序是存放在磁盘上面、处于某个目录下 的一个可执行文件。
  • 进程
    程序 执行的实例被称为 是 进程 ;
    进程的唯一标识符则被称为是 进程ID (pid);
  • 进程控制
    进程控制主要有三个函数:
    1、fork ;
    创建子进程;
    2、exec ;
    进程?;
    3、waitpid;
    等待子进程

线程

每个进程只有一个控制线程(主线程);
一个进程内的所有的线程都可以共享同一地址空间、文件描述符、栈、以及进程相关的属性。
线程也有唯一的标识符 tid;

出错处理

定义了errno以及可以赋予它的各种常量;
errno通常被设置为含有附加信息的一个值;
strerror(errno)可以映射出errno的一个错误信息字符串;
perror 函数是基于errno的值在标准错误上产生一条出错信息;

信号

通知进程发生某类的情况的一种技术;
进程对信号的处理有三种选择:
1、忽略该信号;
2、按系统默认的方式处理;
3、自定义处理函数;

时间值

Linux下提供两种的时间值:

  1. 日历时间;
    该值表示的是自1970年1月1日00:00:00以来的国际标准时间(UTC)所经过的秒数
    的累计值 。
    系统基本类型time_t 用于保存这种时间;
  2. 进程时间;
    该值也被称为CPU时间;
    系统基本类型clock_t用于保存这种时间;

B/R
晓东
2019-1-8

你可能感兴趣的:(Linux基础知识)