操作系统
学习操作系统相关知识,LINUX是重点
didi..
人声车声开始消和逝
展开
-
malloc函数C语言实现
#include <stdio.h>#define MEM_SIZE 128static char mem[MEM_SIZE];#define MINBLK 16struct block { struct block * next; size_t length; char data[0];};//维护一个空闲链表static struct block * fr...原创 2020-05-05 19:38:56 · 1954 阅读 · 0 评论 -
互斥与同步--管程
之前学习了信号量的方式实现线程的同步,但是这种方式存在一定的局限性1. 当多个进程同时对同一个临界资源进行P操作的时候,如何决定哪一个进程可以获取到临界资源?多个进程很有可能会在完全不同的条件下才会执行,只用信号量是无法区分条件的以生产者-消费者问题为例,如果生产者和消费者进程知识通过信号量进行同步控制的话,会出现以下问题1. 生产者获取到临界资源,但是仓库已经满了,无法继续生产...原创 2020-04-20 00:10:26 · 349 阅读 · 0 评论 -
操作系统--读者写者问题(读者优先)
为什么要进行并发控制在并发程序中,多个进程或者线程的运行,本来是可以毫无关系的,也就是完全的异步执行,但是现实中往往异步执行不能满足需求假如只有一个苹果,A和B都要执行吃苹果的程序,如果只是异步执行的话,他们都会认为自己吃完了苹果,但是无法确定到底谁吃到了苹果引出的问题就是并发执行的程序要想对共同的资源进行访问,需要实现同步,才可以保证对于共同资源的有序使用,避免出现问题。P/V信号量...原创 2020-04-15 02:59:59 · 2650 阅读 · 1 评论