
计算机操作系统
问天3007
西电CS本复旦CS硕
展开
-
fork与vfork的区别
fork()与vfock()都是创建一个进程,那他们有什么区别呢?总结有以下三点区别: 1. fork ():子进程拷贝父进程的数据段,代码段 vfork ( ):子进程与父进程共享数据段 2. fork ()父子进程的执行次序不确定 vfork 保证子进程先运行,在调用exec 或exit 之前与父进程数据是共享的,在它调用exec 或exit 之后父进程才可能被调...转载 2018-05-09 21:00:50 · 224 阅读 · 0 评论 -
计算机操作系统第一次实验——在Linux下创建子进程
用到的函数主要有fork和vfork,fork创建的子进程是对父进程的简单拷贝,它的对资源的修改不会影响父进程;vfrok创建的子进程是父进程的资源共享,此时父进程被阻塞,执行完子进程再执行父进程,子进程对资源的修改会影响父进程。代码如下(使用的是vfork函数):#include<stdlib.h>#include<stdio.h>#include<string...原创 2018-05-09 21:17:43 · 2109 阅读 · 0 评论 -
计算机操作系统第二次实验——线程共享进程中的数据
供大家交流学习,最好自己动手做,这样才有最深切的体会。1.实验目的利用pthread_create()函数创建一个线程,在线程中更改进程中的数据 ,了解线程与进程之间的关系。2.实验软硬件环境安装Windows XP的计算机VirtualBox软件,以及在其上安装的Ubuntu虚拟机3.实验内容 在Linux下利用线程创建函数pthread_create()创建一个线程,在线程中更改进程中的...原创 2018-05-12 20:15:25 · 5603 阅读 · 0 评论 -
计算机操作系统第一次实验——进程的建立(报告版)
供大家交流学习,最好自己动手做,这样才有最深切的体会。1.实验目的 学会通过基本的Linux进程控制函数创建子进程,并实现协同工作。创建两个进程,让子进程读取输入,父进程等待子进程读完文件后继续执行。2.实验软硬件环境安装Windows7的计算机VMware软件,在其上安装有Ubuntu虚拟机3.实验内容1.掌握vfork()、fork()、waitpid()等函数的使用。2.用以上函数在L...原创 2018-05-13 11:37:57 · 22760 阅读 · 0 评论 -
计算机操作系统第三次实验 信号通信
供大家交流学习,最好自己动手做,这样才有最深切的体会。 1.实验目的了解并掌握利用信号通信机制在父子进程间进行通信。 2.实验软硬件环境安装Windows XP的计算机 VirtualBox软件,以及在其上安装的Ubuntu虚拟机 3.实验内容 在Linux下利用信号通信机制在父子进程间进行通信。由子进程发送事件信号,父进程获取事件信号后...原创 2018-05-21 19:50:17 · 2862 阅读 · 0 评论 -
计算机操作系统第四次实验 匿名管道通信
1.实验目的学习使用匿名管道在两进程间建立通信。 2.实验软硬件环境安装Windows XP的计算机 VirtualBox软件,以及在其上安装的Ubuntu虚拟机 3.实验内容 在Linux下创建匿名管道,父进程写管道,子进程读管道。实现利用匿名管道在进程间通信。 使用函数:int pipe(int fd[2]) 返回值:成...原创 2018-05-21 19:51:59 · 3302 阅读 · 1 评论 -
计算机操作系统第六次实验——共享主存实现进程通信
1.实验目的 学会在Linux下创建共享主存,并解决读写者问题。2.实验软硬件环境安装Windows7的计算机 VMware软件,在其上安装有Ubuntu虚拟机3.实验内容利用共享主存解决读写者问题。要求有写者进程创建一个共享主存,并向其中写入数据,读者进程从该共享主存中访问数据。相关函数:key_t ftok( const char * fname, in...原创 2018-06-02 15:23:02 · 3191 阅读 · 1 评论 -
计算机操作系统第五次实验——信号量实现进程同步
1.实验目的利用信号量和PV操作实现进程的同步。 2.实验软硬件环境安装Windows XP的计算机 VirtualBox软件,以及在其上安装的Ubuntu虚拟机3.实验内容 生产者进程生产产品,消费者进程消费产品。当生产者进程生产产品时,如果没有空缓冲区(仓库)可用,那么生产进程必须等待消费者进程释放出一个缓冲区,当消费者进程消费产品时,如果缓冲区产品,那么消...原创 2018-06-18 15:56:22 · 10086 阅读 · 1 评论