[IC221]USNA/Systems Programming

偶然找到一门unix课程,是由usna(美国海军学院)开设的,课程编号是IC221,质量非常高。本来是准备翻译整个系列的,但是精力有限,计划按照授课大纲写成几篇总结。

课程主页

内容主题以及对应地址将会记录如下:

  1. UNIX系统介绍

    • (lecture1) Unix 和 Linux 介绍
    • (lecture2) Unix文件系统和命令行工具
    • (lecture3) Unix设计哲学以及标准流
  2. C语言编程

    • (lecture4) 格式化输入/输出和基本类型
    • (lecture5) 结构,指针和数组
    • (lecture6) 字符串和字符串系统库
    • (lecture7) 命令行参数和二维数组
    • (lecture8) 程序内存布局和动态内存
    • (lecture9) 动态数组分配和数据表示
    • (lecture10) 字符串和字符串系统库
    • (lecture11) 用户态,内核态和系统调用
    • (lecture12) 通过系统调用操作文件和设备I/O
  3. 进程

    • (lecture13) 进程创建和管理
    • (lecture14) fork/exec/wait
    • (lecture15) 进程状态和OS进程调度
    • (lecture16) 终端设备和作业控制(Job Control)
    • (lecture17) 进程组和终端信号
    • (lecture18) 管道和文件复制
    • (lecture19) 信号和信号处理
    • (lecture20) 定时器,sigaction()和可重入系统调用
  4. 文件系统

    • (lecture21) 文件系统,内核数据结构和打开文件
    • (lecture22) 文件链接:软链接/硬链接
  5. 操作系统安全

    • (lecture23) 设置用户/用户组权限
    • (lecture24) 修改环境变量,代码注入,溢出攻击
  6. 网络

    • (lecture25) 网络基础/客户端服务器模型(C/S模型)
    • (lecture26) scoket编程基础
    • (lecture27) socket服务器
  7. 线程

    • (lecture28) Posix线程
    • (lecture29) 锁,死锁和并发