之前就看过几次操作系统的知识,但是会遗忘。所以,这次就写一个总结。主要是需要从另一个层面思考操作系统知识。
总结
计算机操作系统是硬件上的大管家。主要内容有内存管理、进程通信,锁。
学会抽象,这些知识都是先基于实际需求,再在实现过程中(程序实现)进行抽象,本质上很简单,只是将复杂人类的做法复制到计算机上所作的工作而已。
内存管理
虚拟内存的概念:每个进程独占自己的内存且互不干扰(根本是方便进程);虚拟内存比物理内存大,是对物理内存的虚拟化。(将长时间不活跃的内存 块移入硬盘,复杂的有对应的页面置换算法。)
虚拟内存和物理内存的转化:页式存储(页面大小固定,4K),段式存储(段的大小根据需要灵活调整),段页式存储(段内再分页)。
进程通信
说白了就是傻瓜式通信的实现方式。管道、FIFO、消息队列、信号量、共享内存。
总结
理解所有的操作系统知识只是为了让计算机能和人一样实现很多功能。