操作系统
文章平均质量分 76
fengzhe0411
这个作者很懒,什么都没留下…
展开
-
采用java.util.concurrent包来重新实现生产者-消费者模型
我在此篇文章( http://blog.csdn.net/fengzhe0411/article/details/6949622 )中详细介绍了生产者-消费者模型的实现和操作系统的一些原理但是,对操作系统原理不是太了解的人可能写起wait(),notify(),notifyAll()之类的方法会很吃力好在java1.5以后提供了concurrent包 里面包含了大量线程同步所需要的工具原创 2011-11-14 19:02:09 · 1256 阅读 · 0 评论 -
java多线程发生死锁的一个例子
package com.damlab.fz;public class DeadLock { public static void main(String[] args) { Resource r1= new Resource(); Resource r2= new Resource(); //每个线程都拥有r1,r2两个对象 Thread myTh1 = new原创 2011-11-09 18:10:03 · 5839 阅读 · 1 评论 -
从java多线程实现“生产者-消费者”模型来谈谈操作系统中线程状态的转换
前言:自己尝试着用java多线程实现了操作系统原理中讲到的“生产者-消费者”模型,在这里和大家分享一下遇到的问题和心得。我们姑且模糊“线程”和“进程”的区别,只记住它们都是可并发执行的一组过程即可。一、什么是“生产者-消费者”模型? 这个模型所描述的是假设有一个能容纳N个产品的工厂,生产者进程不断向工厂中输入产品,而消费者进程不断从工厂中取原创 2011-11-08 22:05:02 · 4192 阅读 · 0 评论 -
操作系统为什么要分用户态和内核态
在CPU的所有指令中,有一些指令是非常危险的,如果错用,将导致整个系统崩溃。比如:清内存、设置时钟等。如果所有的程序都能使用这些指令,那么你的系统一天死机n回就不足为奇了。所以,CPU将指令分为特权指令和非特权指令,对于那些危险的指令,只允许操作系统及其相关模块使用,普通的应用程序只能使用那些不会造成灾难的指令。Intel的CPU将特权级别分为4个级别:RING0,RING1,RING2,RING转载 2012-03-13 15:48:26 · 5068 阅读 · 2 评论 -
c/c++内存释放知识总结
原文地址:http://www.cnblogs.com/chuncn/archive/2011/04/12/2014273.html基础知识:五大内存分区 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。 堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一转载 2013-01-17 14:24:32 · 527 阅读 · 0 评论