第七周学习总结

fprintf函数定义格式:
int fprintf(FILE * stream,const char * format);
fprintf函数根据format字符串来转换并格式化输出数据到stream指定的文件中,成功则返回实际输出的字符,失败则返回-1;

fscanf函数定义格式:
Int fscanf (FILE * stream,const char * format);
fscanf从参数steam的文件流中读取字符串,再根据format字符串来转换并格式化数据,成功则返回参数值,失败则返回-1;

进程控制编程:
进程是一个具有一定独立功能的一次性活动,同时也是资源分配的最小单元;
分配内存:针对进程分配,3G,给内核分配1G空间;
进城与程序的区别:
进程是动态的,程序是静态的;
进程是暂时的,程序是永久的;
进程的组成包括程序,数据和进程控制块;
通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。

父进程与子进程:
每个进程都是由父进程创建,而子进程又可以创建子进程得子进程;
进程可以被撤销;

进程分为三个状态:执行状态,就绪状态,等待状态。进程创建完便处于就绪状态,操作系统进行调度,进程切换到执行状态,执行完毕,进程因等待某个资源而睡眠,从而处于等待状态,并释放CPU资源。当进程因等待资源分配而唤醒,进程便再次处于就绪状态。
时间片切换:通过内部时钟的中断溢出实现,计数次数满,发生中断,从而发生任务调动,把就绪状态的进程切换到执行状态。CPU很多时间都处于等待状态。

Linux进程:
Linux是一个多进程系统,它的每个进程之间具有并行性,互不干扰;每个进程之间通过内核进行通信。
Linux的进程的三个段:数据段,代码段,堆栈段。
linux下地址进程空间:
在这里插入图片描述

临界资源:操作系统中将一次只允许一个进城访问的资源称为临界资源;
进程同步:一组并发进程按一定的顺序执行的过程称为进程间的同步,具有同步关系的一组进程称为合作进程;合作进程间互相发送的信号称为消息或事件。

进程调度:按一定算法,从一组待运行进程中选出来一个占有cpu运行,调度方式有抢占式和非抢占式;
抢占式调度:实时性,一个进程创建出一个新进程,则优先级别更高的进程先运行,而优先级别低的进程马上被切断,直到优先级别最高的进程结束。
调度算法:有先来先调度算法,短进程优先算法,高优先级优先调度算法,时间片轮转法;

死锁:多个进程因竞争资源而形成的一种僵局,若无外力作用,这些进程将永远不能向前推进;

获取ID:pid_t getpid(void); 获取本进程ID;
pid_t getppid(void); 获取父进程ID;

创建子进程:pid_t folk(void); 被调用一次,返回两次。vfork保证子进程优先运行,共享内存。

exec函数族:用被执行的程序替换调用他的程序。exec启动一个新程序,替换原有进程,因此进程的PID不会改变。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值