Linux学习目录

1.认识进程

  定义

  查看进程

  进程状态

    僵尸进程

    孤儿进程

  进程优先级

    nice值

2.进程控制

  进程创建

    fork

    vfork

  进程等待

    wait方法

    waitpid方法

  获取子进程status

    wait方式获取子进程status

    waitpid方式获取status

  进程等待

    waitpid进程的阻塞方式等待

    waitpid进程的非阻塞等待方式

  进程替换

    Shell进程替换

    Shell进程替换的本质

  进程替换原理

  实现一个minishell

3.进程间通信

  进程间通信

    进程间通信发展

    通信方式

  管道

    匿名管道

    命名管道

  system V共享

  system V消息队列

  system V信号量

4.进程信号量

  linux中的信号

    Ctrl-C特点

    信号概念

    信号本质

    信号处理常见方式

  linux中的信号的两种分类方式

    可靠信号与不可靠信号

    实时信号与非实时信号

  产生信号

    1.通过终端按键产生信号(硬件)

    2.硬件异常产生信号

    3.调用系统函数kill向进程发信号

    4.由软件条件产生信号

  信号捕捉

    siganl函数进行信号捕捉

    模拟一下野指针异常

  总结

    信号处理的三种方式

    信号处理流程

    信号产生到处理的状态

    信号在内核中的表示

    内核实现信号捕捉

5.多线程

  线程概念

    线程定义

    线程的优点

    线程的缺点

    线程异常

    线程用途

  进程与线程比较

    进程可以并发并行

    线程可以并发并行

  进程的多个线程共享的内容

  Linux线程控制

    POSIX线程库

    pthread_create

    pthread_族函数错误检查

    使用pthread_creat创建一个新的线程

    线程ID

    线程终止

    线程等待

    分离线程

  线程互斥

    进程线程互斥相关概念

    互斥量mutex

    互斥量(锁)

    互斥量实现原理

  线程安全

  重入

  可重入与线程安全的关系

  常见锁

    死锁

    死锁发生的必要条件(4)

    避免死锁

    避免死锁算法

  线程同步

    定义

    竞态条件

    线程同步四种方式

    条件变量

    条件变量函数

  生产者消费者模型

    基于BlockingQueue的生产者消费者模型

    C++ queue模拟阻塞队列的生产消费模型

  POSIX信号量

    初始化信号量

    销毁信号量

    等待信号量

    发布信号量

  线程池

    线程池的应用场景

    线程池示例

    发布信号量

  线程安全的单例模式

  STL,智能指针和线程安全

6.网络1

  网络协议

  网络协议分层

    OSI七层模型

    TCP/IP五层(或四层)模型

  网络传输流程

  数据包封装和分用

    数据封装的过程

    数据分用的过程

  网络中的地址管理

    IP地址

    MAC地址

    IP地址和MAC地址作用

7.网络2

  应用层

    HTTP

    URL

    urlencode和urldecode

    端口号

  传输层

    UDP协议

    TCP

      TCP协议段格式

      连接管理机制

         三次握手

         三次握手

      确认应答(ACK)机制和四次挥手

         确认应答(ACK)机制

         四次挥手

      超时重传机制

      滑动窗口

      流量控制

      拥塞控制

      延迟应答

      捎带应答

      面向字节流

      粘包问题

      TCP异常情况

  TCP/UDP对比

    TCP 和 UDP 的区别及头部结构

    MSL

8.网络3

  网络层

    IP协议

      协议头格式

      网段划分(重要)

      私有IP地址和公网IP地址

      路由

      路由表生成算法

  数据链路层

    以太网

      以太网帧格式(链路层)

      MAC地址

      MTU

    ARP协议

      ARP协议的作用

      ARP协议的工作流程

      ARP数据报的格式

  重要协议

    DNS

9.网络编程套接字

  网络编程基础知识

    IP

    端口号

    TCP协议

    UDP协议

    网络字节序

  socket编程接口

    常见API

      sockaddr 结构体

      sockaddr_in 结构体

      in_addr 结构体

  简单的UDP网络程序

  地址转换函数

    字符串转in_addr的函数

    in_addr转字符串的函数

    字符串和in_addr转换

    inet_ntoa函数

  简单的TCP网络程序(CS结构的英译汉)

  将以上英译汉改成多进程版本

10.IO1

基础知识

  文件描述符

    文件描述符本质

    文件描述符的分配规则

    重定向

  库函数中的FILE

    struct _IO_FILE

    库函数带缓冲区

  文件描述符与文件流指针的关系

  动态库和静态库

  文件系统Ext

    基本结构

    相关命令

    文件存储流程

    文件读取

    创建一个新文件

    创建硬链接文件

    创建软链接文件

  符号链接文件

IO标准库和系统调用接口

  库函数

  系统调用接口

11.IO2

基本概念

  同步通信

  异步通信

  阻塞 vs 非阻塞

五种IO模型

  阻塞IO

  非阻塞IO

  信号驱动IO

  IO多路转接复用

    select

    poll

    epoll

  异步IO

你可能感兴趣的:(Linux)