第一部分 Linux操作系统基本原理.

第1章 Linux操作系统简介

1.1 Linux的渊源和发展简史

1.2 Linux的基本特性

1.3 Linux内核的开发模式与内核版本号

1.4 Linux发行版介绍

1.5 Linux内核源代码组织结构

1.6 学习Linux的辅助软件介绍

第2章 Linux的进程管理

2.1 进程与进程描述符

2.2 进程状态及切换时机

2.2.1 Linux的进程状态

2.2.2 进程的切换时机

2.3 进程的调度算法

2.4 进程的创建与消亡

第3章 Linux的存储器管理

3.1 物理内存的管理

3.1.1 页帧与区域

3.1.2 伙伴算法

3.1.3 slab分配器

3.2 进程地址空间的管理

3.2.1 页表机制

3.2.2 vm_area_struct结构

3.2.3 进程地址空间的相关系统调用

3.2.4 页面异常的处理

第4章 Linux的文件系统

4.1 VFS

4.1.1 VFS的作用

4.1.2 进程描述符中与文件系统相关的成员

4.1.3 VFS的文件模型

4.1.4 文件系统的注册与安装

4.1.5 各种对象的操作接口

4.2 EXT2文件系统

4.2.1 EXT2在磁盘上的物理布局

4.2.2 主要的数据结构及其基本操作

4.2.3 磁盘块的分配与释放

4.3 主要文件系统的系统调用处理流程

4.3.1 文件的open操作

4.3.2 文件的read操作

第5章 Linux的设备管理

5.1 设备文件的概念

5.2 设备模型基础

5.3 相关数据结构

5.3.1 字符设备管理

5.3.2 块设备管理

5.3.3 buffer

5.3.4 设备请求队列和I/O调度算法

5.4 块设备文件的open和read操作

5.4.1 块设备驱动程序组成

5.4.2 open函数

5.4.3 read函数

第6章 中断、异常及系统调用

6.1 中断和异常的基本知识

6.2 异常处理函数

6.3 系统调用

6.4 中断的处理

6.4.1 中断控制器

6.4.2 管理中断的数据结构

6.4.3 中断的处理过程

6.5 软中断

第7章 Sys V进程间通信

7.1 共有的特性

7.2 信号量

7.3 消息队列

7.4 共享内存

第二部分 基于Linux操作系统的实验

第8章 用户态编程实验

8.1 实验1——bash脚本编程

8.1.1 实验内容

8.1.2 bash脚本编程简介

8.1.2.1 注释和简单命令

8.1.2.2 环境变量

8.1.2.3 控制结构

8.1.2.4 函数

8.1.3 实验指南

8.2 实验2——观察Linux行为

8.2.1 实验内容

8.2.2 proc文件系统简介

8.2.3 实验指南

8.2.3.1 Linux环境下C语言编程环境简介

8.2.3.2 实验程序框架

8.3 实验3——实现Linux命令解释器..

8.3.1 实验内容

8.3.2 myshell的语法

8.3.3 myshell的程序框架

8.3.4 myshell命令行的语法分析

8.3.5 简单命令的执行

8.3.6 myshell的Makefile

8.3.7 实验指南

第9章 内核编程基础实验

9.1 实验4——内核模块

9.1.1 实验内容

9.1.2 Linux内核模块简介

9.1.3 内核符号表

9.1.4 内核模块编程介绍

9.1.4.1 内核模块实例

9.1.4.2 模块编程的基本知识

9.1.4.3 Makefile介绍

9.1.5 实验指南

9.1.6 测试

9.2 实验5——proc文件系统编程

9.2.1 实验内容

9.2.2 proc文件系统编程简介

9.2.2.1 proc文件系统编程示例

9.2.2.2 proc文件系统的核心数据结构

9.2.2.3 proc文件系统编程接口

9.2.3 实验指南

9.3 实验6——编译内核及增加Linux系统调用

9.3.1 实验内容

9.3.2 Fedora下编译内核

9.3.2.1 第1步——下载内核

9.3.2.2 第2步——生成内核配置文件.config

9.3.2.3 第3步——编译和安装新的内核

9.3.3 添加psta系统调用

9.3.4 测试新增系统调用psta

9.3.5 noexec系统调用的实现

第10章 内核编程综合实验

10.1 实验7——进程隐藏

10.1.1 实验内容

10.1.2 背景知识介绍

10.1.3 proc文件系统实现简介

10.1.4 实验指南

10.1.4.1 功能⑴的实现

10.1.4.2 功能(5)的实现

10.1.4.3 功能(7)的实现

10.2 实验8——字符设备驱动开发

10.2.1 实验内容

10.2.2 字符设备驱动开发介绍

10.2.2.1 测试字符设备

10.2.2.2 描述设备的数据结构

10.2.2.3 设备号的操作

10.2.2.4 字符设备的注册与注销

10.2.2.5 文件操作集

10.2.2.6 同步

10.2.3 字符设备chatdev的实现

10.2.4 聊天程序chat的实现

10.3 实验9——naive文件系统的设计与实现

10.3.1 实验内容

10.3.2 项目的准备工作及建议

10.3.3 实验指南

10.3.3.1 第1步——创建设备

10.3.3.2 第2步——格式化分区

10.3.3.3 第3步——定义并注册naive文件系统

10.3.3.4 第4步——安装/卸载文件系统分区

10.3.3.5 第5步——显示根目录的内容

10.3.3.6 第6步——在根目录下创建内容为空的文件

10.3.3.7 第7步——写文件和读文件

10.3.3.8 第8步——删除文件

10.3.3.9 第9步——创建目录

10.3.3.10 第10步——删除目录

10.4 实验10——块设备驱动开发

10.4.1 实验内容

10.4.2 实验基础和思路

10.4.2.1 参考驱动程序1——块设备驱动程序sbull

10.4.2.2 参考驱动程序2——USB字符设备驱动程序usb-skeleton

10.4.3 U盘驱动的帮助函数

10.4.3.1 函数原型及其使用

10.4.3.2 工作原理和过程

10.4.4 实验指南

第三部分 Linux环境下的操作及常用命令和函数

附录A Linux常用命令

A.1 用户终端命令

A.2 vi编辑器的用法

附录B Linux常用函数

B.1 进程管理函数

B.2 文件管理函数

B.3 进程间通信

B.4 多线程库

附录C 内核配置文件的生成

C.1 配置文件初步生成

C.2 修改内核配置文件

C.3 内核编译选项介绍

参考文献...

网上linux实验平台,Linux操作系统实验教程相关推荐

  1. linux内核打开prntk,操作系统实验一向Linux内核增加一个系统调用.docx

    操作系统实验一: 向Linux内核增加一个系统调用 xx 711103xx 2012年3月18日 一.实验目的 通过实验,熟悉Linux操作系统的使用,掌握构建与启动Linux内核的方法:掌握用 户程 ...

  2. 操作系统实验报告linux进程管理,计算机操作系统实验报告三Linux进程基本管理.doc...

    GDOU-B-11-112广东海洋大学学生实验报告书(学生用表) GDOU-B-11-112 实验名称 Linux进程基本管理 课程名称 计算机操作系统 课程号 学院(系) 专业 统 班级 学生姓名 ...

  3. 实验四linux操作系统实验报告(1),操作系统实验报告

    一. 实验目的及实验环境 (一) 实验环境 Linux 操作系统 (二)实验目的 实验1 掌握Linux基本命令 和开发环境 掌握常用的Linux shell命令: 掌握编辑环境VIM: 掌握编译环境 ...

  4. 北航linux内核编译及烧录实验报告,北航操作系统实验Lab1笔记

    Loading... # 北航操作系统实验Lab1 ## Exercise 1.1 - **修改交叉编译路径为 `/OSLAB/compiler/usr/bin/mips_4KC-`** ![ex1_ ...

  5. 处理机调度实验c语言,操作系统实验处理机调度C语言实现

    操作系统实验处理机调度C语言实现 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3.该文 ...

  6. 计算机操作系统安装实验报告,计算机操作系统实验报告.doc

    计算机操作系统实验报告.doc (12页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.9 积分 计算机操作系统实验报告实验一一.实验目的 在单处理 ...

  7. 使用Grab的实验平台进行混沌实验编排

    背景 对每个用户来说,Grab是一个可以叫车,叫外卖或付款的一个APP.对工程师来说,Grab是一个有许多服务并通过RPC交互的分布式系统,有时也可以叫做微服务架构.在数千台服务器上运行的数百个服务每 ...

  8. 山东大学linux实验报告,山东大学操作系统实验四

    一.实验内容: 抽烟者问题.假设一个系统中有三个抽烟者进程,每个抽烟者不断地卷烟并抽烟.抽烟者卷起并抽掉一颗烟需要有三种材料:烟草.纸和胶水.一个抽烟者有烟草,一个有纸,另一个有胶水.系统中还有两个供 ...

  9. linux系统调用记录模块实验报告,华科操作系统实验报告(DOC)

    华 中 科 技 大 学 课 程 设 计 报 告 课 程 实 验 报 告 课程名称: 操作系统课程设计 专业班级: 学 号: 姓 名: 指导教师: 报告日期: 计算机科学与技术学院 华 中 科 技 大 ...

最新文章

  1. 用GDB调试程序(二)
  2. 访客门禁系统供应商 首选钱林厂家
  3. 于其炒股,不如......
  4. Dos批处理中符号作用大全
  5. docker 打包mysql_基于docker部署mysql的数据持久化问题
  6. shell之for循环使用---更新中
  7. (转)MyBatis框架的学习(四)——Mapper.xml文件中的输入和输出映射以及动态sql
  8. 深入理解BFC和Margin Collapse
  9. 中国省份数据字典表---自用
  10. C++:堆排序算法详解
  11. 2021年全国程序员工资出炉想要年薪60万,难吗?网友,扎心了
  12. php元换成万元,元换算成万元公式(元换算成万元换算器)
  13. cordic ip核 vivado_Xilinx Vivado Cordic 核的使用
  14. mysql广告投放查询_广告投放数据分析
  15. 【opencv3】滑动条调节RGB颜色阈值并输出滑动条的值
  16. 学习总结-《父与子的编程之旅》chapter 20
  17. ELO算法原理及实现
  18. Google Earth Engine(GEE)——如何将众多小区域面和点或者多点矢量转化成为一个矢量边界防止超限使用(bounds)
  19. android设备修改默认桌面为自定义应用
  20. rabbitmq基础1——消息中间件概念、Rabbitmq的发展起源和基本组件的作用流程

热门文章

  1. 总结libevent安装方法
  2. Android加密通信防抓包,[原创]基于Taintdroid思想的android ssl\tsl保密通信抓包研究(未成功,分享一下思路)...
  3. 《Bash 脚本教程》免费发布啦,开源!
  4. 新版本阿里云网站的云服务器添加安全组规则
  5. jsp页面页面post传值_在Js页面通过POST传递参数跳转到新页面详解
  6. linux ub查看ftp安装,Linux Ubuntu 18.04 安装 FTP服务
  7. 查看oracle自动优化,使用索引查询更快,优化器为何不能自动识别
  8. Node.js学习(篇章一)
  9. npm dev run 报错
  10. input上传文件个数控制