摘要:
计算机操作系统之存储器管理程序运行将用户的一个源程序变成一个可在内存中执行的程序,通常要经过以下几个步骤:l 编译:由编译程序,将程序编译成若干个目标模块l 链接:由链接程序将编译后形成的一组目标模块,以及他们所需要的库函数链接在一起,形成一个完整的装入模块。l 装入:由装入程序将装入模块装入内存具体讨论一下如何把一个装入模块,装入内存:l 绝对装入方式:编译程序产生带有绝对地址的目标代码,只适合于单道程序环境。l 可重定位装入方式:所得到的模块都是以0开始的,程序中的其它地址也都是相对于起始地址计算的,此时可重写位装入方式,根据内存的情况,将装入模块装入到内存的适当位置。通常把在装入时对目标 阅读全文
摘要:
死锁的原因和必要条件什么是死锁所谓死锁:是指多个进程在运行过程中因争夺资源而造成的一种僵局。产生死锁的原因l 竞争资源:当系统中多个进程使用共享资源,并且资源不足以满足需要,会引起进程对资源的竞争而产生死锁。l 进程间推进的顺序非法:请求和释放资源的顺序不当,也同样会导致产生进程死锁产生死锁的必要条件互斥条件:进程对所分配到的资源进行排它性使用,在一段时间内某资源只由一个进程占用。请求和保持条件:指一个进程已经保持了至少一个资源,但又提出新的资源请求,而此资源被其他占用,此时请求进程阻塞,但又对自己已经占用的资源保持不放。不剥夺条件:进程已经获得资源,在未使用完之前,不能被剥夺,只能在使用完时 阅读全文
摘要:
计算机操作系统之进程与线程进程通信方式l 低级方式n 信号量n 管程l 高级方式n 共享存储器系统n 消息传递系统n 管道通信线程通信方式l 互斥锁l 条件变量l 计数信号量l 多读,单写锁进程线程的区别进程是系统分配资源的单位,每一个进程对应与一个活动的程序,当进程激活时,操作系统就将系统的资源包括内存、I/O和CPU等分配给它,使它执行。线程是CPU分配时间的单位,每一个线程对应于它在进程中的一个函数,也就是内存中的代码段,多个线程执行时CPU会根据它们的优先级分配时间,使它们完成自己的功能。一般来说,进程中至少一个线程,一个主线程和其他线程组成一个进程。多个线程的目的在于... 阅读全文
摘要:
IO控制方式在整个IO控制方式的发展过程中,始终贯穿着这样一条宗旨:即尽量减少主机对IO控制的干预,把主机从繁杂的IO控制事务中解脱出来,以便更多地去完成数据处理任务。程序IO方式处理机对IO采用程序IO方式,即采用“忙――等待“方式,在处理机向控制器发出一条IO指令启动输入设备输入数据时,要同时把状态寄存器中的忙闲标志置为1.然后便不断的循环测试,直到标志为0.当标志为1时,表示输入机未输完一个字符;当标志为0时,表示输入机已经将输入数据送往控制器的数据寄存器中。在这种方式中,由于CPU高速性和IO设备的低速性,致使CPU的绝大部分时间都处于忙等状态。造成了CPU极大的浪费。如果当一个字符输 阅读全文
摘要:
For large amounts of input, the linear access time of linked lists is prohibitive. In this chapter, we look at a simple data structure for which the running time of most operations is O(logN) on average.In this chapter, we will :see how trees are used to implement the file system of several popular 阅读全文
摘要:
From:《Data Structures and Algorithm Analysis in C++》 chapter 3 阅读全文
摘要:
最近,在浏览别人的博客时,发现了一个论文列表,做为一个计算机专业的人来说,应该多读一些大师的作品。现在把这些论文记录在下面。自己慢慢学习之。From:http://blog.csdn.net/g9yuayon/article/details/1512851·An axiomatic basis for computer programming C. A. R. Hoare· Communicating Sequential Processes (CSP) C. A. R. Hoare· Call-by-name, call-by-value, and the la 阅读全文