操作系统的基本认识


以几个问题问题为导向,简单了解一下操作系统的相关知识

死锁的条件是什么?以及如何处理死锁问题?

解答:互斥条件(Mutual exclusion):

如何处理死锁问题:

动态链接库与静态链接库的区别

解答:静态链接库是.lib格式的文件,一般在工程的设置界面加入工程中(回想一下visual studio当中的做法),程序编译时会把lib文件的代码加入你的程序中因此会增加代码大小,你的程序一运行lib代码强制被装入你程序的运行空间,不能手动移除lib代码。

动态链接库是程序运行时动态装入内存的模块,格式*.dll,在程序运行时可以随意加载和移除,节省内存空间。

在大型的软件项目中一般要实现很多功能,如果把所有单独的功能写成一个个lib文件的话,程序运行的时候要占用很大的内存空间,导致运行缓慢;但是如果将功能写成dll文件,就可以在用到该功能的时候调用功能对应的dll文件,不用这个功能时将dll文件移除内存,这样可以节省内存空间。

进程与线程的区别

解答:

用户进程间通信主要哪几种方式?

解答:主要有以下6种: