(1) 显示当前正在运行的进程及其占用的资源 (2) 可以对某一进程进行停止;
题目23 linux内核进程调度算法源码分析
通过阅读linux源代码,分析研究linux的进程调度策略和算法。要求以源码为依据,回答下面的问题:
1) 进程调度队列是如何组织的
2) 三种调度类型(SCHED_FIFO, SCHED_RR, SCHED_OHTER)的实现过程 3) 优先级是如何定义和动态变化的 4) 时间片的赋值?它与优先级的关系?
重点分析内核数据结构task_struct(在include/linux/sched.h中)和调度函数schedule()(在kernel/sched.c中
题目24 linux虚拟的管道字符设备驱动程序实现
要求:
(1)管道:一个FIFO的信息流。
·允许多个进程向管道写入数据,允许多个进程从管道读出数据。 ·在读/写过程中,保证数据的写入顺序与读出顺序是一致的。 (2)以字符设备的形式实现管道 ·字符设备的驱动程序实现对管道的打开、关闭、读、写操作
·使用内存缓冲区(例如1024字节)存放管道中的数据 (3)字符设备的驱动程序接口 ·功能函数接口定义(linux/fs.h) struct file_operations vfifo_fops={
owner: THIS_MODULE, open: vfifo_open,
release: vfifo_release, read: vfifo_read, write: vfifo_write, };
·注册驱动程序 ret=register_chrdev(vfifo_major, \ (4)读、写进程之间的同步和互斥 ·使用核心信号量和等待队列函数(参见实验6)
·当缓冲区中没有数据时,读进程只在没有写进程时才被阻塞,否则,“读”系统调用返回(读出的数据长度=0) ·当缓冲区中满时,写进程被阻塞。
题目25 linux内核进程管理算法源码分析
通过阅读linux源代码,分析研究linux的进程状态及管理。要求以源码为依据,回答下面的问题:
1) 进程是如何组织的 2) 进程状态是如何变化的
3) 进程的创建与消亡是如何实现的。
题目26 linux设备管理源码分析
通过阅读linux源代码,分析研究linux的设备文件的管理。要求以源码为依据,回答下面的问题:
1) 设备文件是如何描述的 2) 设备文件如何打开与关闭
3) 字符设备文件(以LED驱动程序为例)是如何与系统联系起来的。 4) 设备文件如何使用?
题目27 linux虚拟文件系统源码分析
通过阅读linux源代码,分析研究linux的设备文件的管理。要求以源码为依据,回答下面的问题:
1) vfs的文件模型 2) 虚拟文件系统相关数据结构含义; 3) 具体文件系统的安装与注册 4) 各种对象的操作接口 5)
题目28编辑器中快捷键的功能实现。
某些软件中需要利用某些组合按键或特定按键实现快捷功能,如Ctrl+Q可以退出,Ctrl+S实现保存。Linux中可以利用signal( )来捕捉某些特定信号,并触发相应处理函数。
请编写一个编辑器软件可以实现如下功能,并将其功能用快捷键方式实现。 (1) 基本编辑功能:增加、修改、删除、复制、粘贴、撤消; (2) 存盘功能:新建、保存、另存为、退出、不存盘退出; (3) 上述功能可定义相应快捷键,并实现快捷功能。