07-Linux期末总结

Charlie

第一章

  1. 什么是Linux?
    • 类Unix,开源,免费,GNU协议,支持多平台
  2. 常见Linux发行版有哪些?
  3. GPL版权的特点
    1. 开放源代码
    2. 自由使用
    3. 有传染性
  4. 文件系统和后面的文件一起考
  5. GRUB知道就行,细节不考
  6. 配置文件能读懂就行
    • grun.conf
    • title, root, kernel, initrd
  7. 安装软件步骤
    1. cmake: 用于生成makefile
    2. make:编译
    3. make install:从Makefile中读取指令,将编译好的文件复制到指定的安装目录中
  8. 虚拟终端切换
    • Alt-Fn (or Ctrl-Alt-Fn if in X)
  9. 命令行提示符
    1. $:普通用户
    2. :root用户

    3. 和环境变量PS1有关
  10. 命令都要,除了课上讲的不要求的命令
  11. 文件基本概念
    1. 数据集合,可以读写的对象,有属性、类型、权限
    2. 字节流
  12. 7种文件类型
    1. 普通文件
    2. 文件夹
    3. 字符设备文件
    4. 块设备文件
    5. 网络接口文件
    6. 符号链接
    7. 管道文件
  13. 知道统一目录结构
  14. 文件权限
  15. 进程

MBR、GPT不考
常见目录一般不考
开机启动部分不考
命令行好处不靠
多任务多用户,不考
层次结构图,不作为重点

第二章

  1. 命令,除了上课讲不考的都要考
    • 不考:vdir,locate
  2. 重定向
  3. 管道:会用就行
  4. 环节变量,和SHELL编程一起考
  5. 高级命令和正则表达式,会有一些比较简单的表达式,不是重点
    1. find
    2. sed
    3. grep

第三章

考试最多出现两题概念题

  1. Shell概念
    • 用户与操作系统之间的接口,是核外程序。
    • 既是命令的解释程序,也是独立的程序设计语言解释器。
  2. Shell类型,除了bash再列出一两个名字
    • zsh, ash, csh
  3. Shell机制
    1. 哪些功能归shell管:重定向、管道
  4. 执行Shell三种方式的区别
  5. 环境变量
    1. 基本命令:export, env,
    2. PS1, $PS2
  6. read
  7. 引号用法
  8. 参数变量
  9. 条件测试
    1. []形式
  10. Shell算数比较,直接给脚本理解
  11. Shell脚本会写
  12. 命令表
    1. 分号串联
    2. 条件组合
      1. AND
      2. OR
  13. 函数,只要求会读
  14. 杂项命令
  15. 参数扩展
  16. 即时文档

语句块不要求

第四章

  1. 编译器原理,连接,动态库静态库。考试和Makefile一起考,一般给一个实际程序
    1. 调试原理:要加调试信息,关掉调试优化
  2. gcc参数
  3. makefile读得懂,写考试比较简单
    1. 预定义变量,多目标扩展,使用函数,不要求写

gdb不考

第五章

  1. 文件和文件系统的概念
  2. 7种文件类型
  3. VFS的四个对象
    1. super block
    2. i-node object
    3. file object
    4. dentry object
  4. 硬链接,软连接
    1. 区别:一定要答全
    2. 常见命令
    3. 对应系统调用
    4. ls -l的时候会影响哪些地方
  5. 系统调用和库函数
    1. 区别:缓存分配,
    2. 编程题会要求用系统调用写,或用库函数写
  6. 各种系统调用
    1. fcntl参数和意思,意思对就行
    2. ioctl在驱动考,和字符型驱动的关系
    3. umask,权限
  7. C库
    1. 缓存
  8. 文件锁
    1. 系统调用:fcntl
    2. 类型

编程题:尽可能高效->用系统调用

文件系统在磁盘分布不考

第六章

进程线程

  1. 系统调用
    1. exec系列
    2. fork
    3. wait,waitpid
    4. kill,raise
    5. alarm, pause
    6. mmap/munmap
  2. 进程信息
  3. 信号,不会要求写,会问在代码里的效果
  4. 可靠信号和不可靠信号
  5. 可重入函数
    1. 列表不需要背下来
  6. 地址映射:文件映射到一段内存地址
    1. mmap/munmap描述参数
  7. pthread
    1. 编程可能会考
    2. 信号量、互斥量、条件变量
    3. cancel
    4. 多线程程序出现错误
    5. TLS

编程题:文件、线程、进程

main函数入口出口,不考
可靠信号的设置细节不要求掌握
共享内存不考
设置线程属性不考

第七章

块设备不考,只考到字符设备之前

  1. Linux内核介绍
  2. 内核编译步骤,知道make menuconfig是可选的
  3. grub引导菜单能读
  4. 驱动:工作在内核态
    1. 加载模块命令
    2. 模块依赖命令
  5. 用户态程序和内核态程序区别
  6. 内核代码,读
  7. 内核代码/Shell脚本没有类型浮点支持
  8. 模块间通信
  9. 驱动类型:只要求字符型设备
    1. 字符型设备驱动的步骤
    2. 应用程序怎么用驱动
    3. 主设备号和次设备号

init不要求
make-kpkg不要求
内核代码,不要求写
内核编译模式,makefile,不用写
/proc文件系统不要求

试卷结构

选择
填空
判断
随机

简答题:
0~2概念题,送分
描述题,尽可能写满
读程序题

  • 标题: 07-Linux期末总结
  • 作者: Charlie
  • 创建于 : 2024-05-30 10:05:00
  • 更新于 : 2024-07-05 12:55:04
  • 链接: https://chillcharlie357.github.io/posts/60504a0c/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论