美文网首页
UNIX基础知识

UNIX基础知识

作者: 洪小迟 | 来源:发表于2016-02-16 17:22 被阅读0次

1.1 unix的体系结构

内核(kernel)
系统调用(system call)
库函数
shell
应用程序

1.2 登录

系统口龙文件(/etc/passwd)可以查看登录名,登录项包含7个字段

  • username
  • password
  • uid(user id)
  • gid(group id)
  • comment
  • home directory
  • shell
    目前所有系统已经将password放到另一个文件中。

shell是一个命令行解释器,用户登录后,
可以向shell输入命令,可通过终端(交互式shell),也可通过文件(shell脚本)

1.3 文件和目录

unix文件系统由目录和文件组成一种层次结构,起始目录称为root('/'),文件属性指文件类型(普通文件或目录)、文件的大小、文件所有者、文件权限(其他用户的访问权限)、文件最后修改时间等。
创建新目录会自动创建两个文件名.(当前目录)和..(父目录)
每个进程都有一个工作目录(working directory),相对路径都从工作目录开始解释,进程可通过chdir()更改工作目录。

1.4输入和输出

文件描述符(file descriptor)是一个非负整数,内核用来标示一个特定进程正在访问的文件。内核打开或创建一个文件时,返回一个文件描述符,可用来读写文件。
标准输入输出

#include <unistd.h>
#define STDIN_FILENO 0
#define STDOUT_FILENO 1
#define STDERR_FILENO 2

不带缓冲的IO,j即标准IO,包含open/read/write/lseek/close都对文件描述符进行操作。
带缓冲的IO,包含printf/fgets/fputs.

1.5 程序和进程

程序(program)指存放在磁盘的可执行文件,进程(process)指程序的执行实例。每个进程有唯一的非负整数标示符,称为进程ID(process ID)。
有三个用于进程可控制的主要函数:fork、exec和waitpid。(exec包含6中变体)
进程可以有多个控制线程(thread),所有线程共享进程的统一地址空间、文件描述符、栈以及进程相关属性,可访问同一存储区,需要处理好同步关系。

1.6 出错处理

unix函数出错时,返回一个负值,且整数变量errno会设置错误信息。errno在<errno.h>文件中定义

#include <errno.h>
//是否支持多线程
#ifdef SUPPORT_MULTI_THREADS
extern int errno;
#elseexrern int* __errno_locaiton(void);
#define errno (*__errno_locaiton())
#endif//错误编号(!0)
#define EACCESS <???>
#define EPERM <???>

1.7 用户标识

用户ID为0的用户为root,有超级用户特权
组ID,不同用户ID可以拥有相同组ID,可以设置文件权限使相同组ID的用户都能存取该文件,而组外用户不能。

1.8 信号

信号用于通知进程已发生某种情况。进程可以对信号做三种选择的处理

  • 忽略该信号
  • 按照系统默认方式处理
  • 提供一个函数,信号发生时执行该函数(捕捉信号)

1.9 时间值

unix系统使用两种不同的时间

  • 日历时间。自1970年1月1日00:00:00以来经过的秒数累计值。
    *进程时间。即CPU时间,用来度量进程使用的cpu资源

1.10 系统调用和库函数

系统调用时内核提供的最小接口,仅实现单一的功能,库函数通常提供比较复杂且常有的功能,库函数通过调用系统调用实现。

相关文章

  • Unix 基础知识

    Unix 基础知识 @[执行新程序, 打开文件, 读取文件, 分配存储区, 获取当前时间等, 应用程序, shel...

  • UNIX基础知识

    1.1 unix的体系结构 内核(kernel)系统调用(system call)库函数shell应用程序 1.2...

  • UNIX基础知识

    一、UNIX基础知识1.6 程序和进程 程序(program)是一个磁盘中的可执行文件,内核中用exec将程序读入...

  • UNIX基础知识

    UNIX基础知识 UNIX体系结构 登陆 文件和目录文件系统【1、目录是一个包含目录项的文件;2、根目录:所有东西...

  • apue 第一章 unix基础知识

    apue 第一章 unix基础知识 unix 体系结构 kernel(内核):一种软件,控制计算机的硬件资源,提供...

  • Unix环境编程1-2

    第一章 unix基础知识 1.1 unix体系结构 操作系统(也叫内核)是一种控制协调计算机硬件资源的软件,为程序...

  • APUE 01 UNIX基础知识

    /etc/passwd /etc/shadow 目录是一个包含目录项的文件。“/”表示根目...

  • 第1章——《Unix基础知识》

    实验环境介绍 gcc:4.8.5 glibc:glibc-2.17-222.el7.x86_64 os:Cento...

  • 19:unix/linux之基础知识

    1、unix/linux文件管理方式 2、常见命令操作 3、磁盘文件管理 1、命令:ls 2、命令:more 3、...

  • 从零开始UNIX环境高级编程(1):Unix基础知识

    1. 概述 《UNIX环境高级编程》介绍的是不同版本的Unix操作系统提供的服务。那具体指的是哪些服务呢?首先,需...

网友评论

      本文标题:UNIX基础知识

      本文链接:https://www.haomeiwen.com/subject/bbspkttx.html