操作系统
努力不停努力
我要成为自己眼中最耀眼的一束光
展开
-
线程(未完待续)
线程线程的实现方式用户线程内核线程用户线程和内核线程必然有联系多线程模型多对一模型优点缺点一对一模型优点缺点补充多对多模型轻量级进程线程的实现方式用户线程用户线程的管理无需内核的支持。内核线程内核线程由操作系统来直接支持与管理。内核线程从来不会访问属于用户态虚拟地址空间,这种线程只在内核虚拟地址空间范围活动。用户线程和内核线程必然有联系多线程模型多对一模型一个进程里的多个用户线程映射到一个内核线程。这种模型下,线程管理由用户空间的线程库来完成。优点可以在不支持线程的操作系统中实现。原创 2021-04-09 14:05:28 · 58 阅读 · 0 评论 -
i++和++i
参考链接参考链接总结:i++和++i都不是原子操作。原创 2021-03-02 23:51:28 · 78 阅读 · 0 评论 -
操作系统分段、分页、段页式
原文链接原创 2021-02-25 23:15:16 · 265 阅读 · 0 评论 -
读者写者问题
CS-NOTES原创 2021-02-25 23:15:31 · 54 阅读 · 0 评论 -
哲学家就餐问题
设有5个哲学家。哲学家就餐问题的解决需要用到条件变量和互斥锁,另外,哲学家应该有3个状态:hungry,thinking,eating。声明哲学家变量如下:线程的创建不再赘述。哲学家线程如下:这是5个哲学家线程共同调用的线程函数,其中p_n是哲学家的id(索引)。哲学家通过pickup_forks()函数试图同时拿起位于他左右边的餐具,进入eating状态。通过sleep()函数模拟就餐和思考的过程。pickup_forks()函数具体如下:其中,test()函数是哲学家在原创 2021-02-25 23:16:05 · 278 阅读 · 0 评论 -
使用信号量实现生产者-消费者问题
#define N 100//信号量typedef int semaphore;//对缓冲区的锁,一个二进制的信号量semaphore mutex = 1;//empty是计数信号量,N是缓冲区空闲位置的数目,//empty不为0时,生产者才能往缓冲区添加物品semaphore empty = N;//full是计数信号量,只有当full不为0时,消费者才能拿走物品semaphore full = 0;/** * 不能先down(&mutex)再down(&empty原创 2021-02-24 16:48:59 · 551 阅读 · 0 评论 -
会引起进程创建的事件
在多道程序环境中,只有进程才能在系统中运行。因此为了使程序运行必须为其创建进程,而导致进程创建的时间典型的有四种:用户登录;系统为用户创建一个进程,并插入就绪队列作业调度提供服务 系统为用户请求创建一个进程应用请求 用户程序自己创建进程...原创 2021-02-24 16:04:36 · 6754 阅读 · 0 评论 -
操作系统挂起(进程静止与活动)
挂起进程是被暂时淘汰出内存的进程。进程由于时间片用完从CPU上退下来时,由运行态->活动就绪态;进程由于等待使用资源或某事件发生,如等待外设传输;等待人工干预;由运行态->活动阻塞(睡眠)态只有被挂起(被淘汰出内存)之后,才会进入静止就绪或者是静止阻塞状态。...原创 2021-02-24 16:03:08 · 1358 阅读 · 0 评论 -
信号量
一个信号量(semaphore) S 是个整型变量,它除了初始化外只能通过两个标准原子操作:wait() 和 signal() 来访问。操作wait() 最初称为P, signal() 最初称为 V。wait()会-1, signal()+1。wait():wait(S) { while(S <= 0); //busy wait s--;}signal():signal(S) { S++;}计数信号量值不受限制,可以用于控制拥有多个实例的某种资源,初始值为可用资源数原创 2021-02-24 15:57:09 · 295 阅读 · 1 评论 -
操作系统:线程切换和进程切换的区别
参考文章Thread SwitchingThread switching is a type of context switching from one thread to another thread in the same process. Thread switching is very efficient and much cheaper because it involves switching out only identities and resources such as the pro原创 2021-01-03 16:22:08 · 376 阅读 · 0 评论