1 / 14
文档名称:

北邮操作系统消费者与生产者实验报告.doc

格式:doc   大小:31KB   页数:14页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

北邮操作系统消费者与生产者实验报告.doc

上传人:WonderC 2021/12/15 文件大小:31 KB

下载得到文件列表

北邮操作系统消费者与生产者实验报告.doc

文档介绍

文档介绍:
北邮操作系统消费者与生产者实验报告
中括号内的数字为代码行号,下同。
volatile long state:
【1222】进程状态字,表示进程当前的状态(运行、就绪、等待、僵
死、暂停、交换) ,分别对应已定义好的常量;TASK_RUNING :正在运行或可运行状态;TASK_INTERRUPTIBLE :可打断睡眠状态;
TASK_UNINTERRUPTIBLE :不可打断睡眠状态;TASK_ZOMBLE :僵死状态;TASK_SPED :暂停状态;交换状态。
void _stack:
【1223】进程所使用的栈空间;unsigned int flags:
【 1225】进程标志(创建、关闭、跟踪、被跟踪、内核 dump 等),同
样对应已定义好的常量;unsigned int rt_priority :
【 1237】表示本进程的实时优先级;const struct sched_class _sched_clas、sstruct sched_entity se:
【 1239,1240】分别是调度类和 调度实体,这两个结构包含了用于任务调度的完整的信息(进程信息、调度策略等) ;unsigned int po l i cy :
【 1 260】进程的调度策略标志,有三种调度标志:
SCHED_OTHER :普通进程的调度策略,基于优先权的轮转法;
SCHED_FIFO :实时进程的调度策略,基于先进先出的算法;SCHED_RR :实时进程的调度策略,基于优先权的轮询法。
struct list_head tasks:
【 1274】任务队列,为一双向循环链表;int pdeath_signal:
【1282】父进程终止时产生的信号;pid_t pid :

【1294】进程标识符,操作系统每创建一个新的进程就要为这个新进程分配一 个进程控制块(PCB),系统内核通过pid区分这些进程的;struct task_struct _real_parent:
【1307】本进程的父进程的 PCB;struct list_head children:
【1312】本进程的子进程列表;struct list_head ptraced:
【1321】本进程正在使用 ptrace 监视的进程列表;struct thread_struct thread:
【1375】本进程下属的线程集;struct signal_struct _signal、 struct sighand_struct _sighand:
【 1383,1384】分别是进程运行时 产生的信号以及信号处理模块。
pthread 接口说明
#include
1、创建
int pthread_create( pthread_t _tid, const pthread_attr_t _attr, void _(_
func) (void _), void _arg ); attr: 线程属性包括:优先级、初始栈大小,是否应该成为一个守护线程。
缺省设置, NULL
后面是线程要执行的函数和参数
成功返回 0
2、等待一个给定线程终止
int pthread_join( pthread_t tid, void __status);等待线程结束 critiction 可以在进程中使用, mute_ 只可在进程中使用
statues返回等待线程的返回值
multiple defi niti on of #; __dso_ha ndle#;
/usr/lib/gcc/i486-linu_-gnu/:(.data+0): first defined here
threadTest: In function #;_init#;:

(.init+0): multiple definition of #;_init#;
/usr/lib/gcc/i486-linu_-gnu//../../../../lib/:(.init+0): first defined here
/tmp/:(.data+0): multiple definition of #;flag#; threadTest:(.data+0_8): first defined here /tmp/: In function #;threadMe
3、 得到自身的 pid
pthread_t pthread_self(void);
4、 pthread