网络基础之操作系统基础
1、为何要有操作系统:
程序员无法把所有的硬件操作细节都了解到,管理这些硬件并且加以优化使用是非常繁琐的工作,这个繁琐的工作就是操作系统来干的,有了他,程序员就从这些繁琐的工作中解脱了出来,只需要考虑自己的应用软件的编写就可以了,应用软件直接使用操作系统提供的功能来间接使用硬件。
2、操作系统的位置:
操作系统位于应用程序和计算机硬件之间,它的本质也是一个软件,操作系统由操作系统的内核(运行于内核态,管理计算机的硬件)和系统调用(运行于用户态,为应用程序提供系统调用接口)这两部分组成。
3、操作系统的功能:
操作系统应该分成两部分功能:
一:隐藏了丑陋的硬件调用接口,为应用程序员提供调用硬件资源的更好,更简单,更清晰的模型(系统调用接口)。应用程序员有了这些接口后,就不用再考虑操作硬件的细节,专心开发自己的应用程序即可。
二:将应用程序对硬件资源的竞态请求变得有序化,例如:很多应用软件其实是共享一套计算机硬件,比方说有可能有三个应用程序同时需要申请打印机来输出内容,那么a程序竞争到了打印机资源就打印,然后可能是b竞争到打印机资源,也可能是c,这就导致了无序,打印机可能打印一段a的内容然后又去打印c...,操作系统的一个功能就是将这种无序变得有序(多路复用)
4、操作系统的发展:
第一代计算机(1940~1955):真空管和穿孔卡片
第二代计算机(1955~1965):晶体管和批处理系统
第三代计算机(1965~1980):集成电路芯片和多道
第四代计算机(1980~至今):个人计算机
5、多道技术:
1.时间上的复用:
例如多个程序在cpu上运行,当运行到其中一个时遇到了I/O阻塞,操作系统就会把cpu分配给下一个程序运行,该程序运行完了又接着下一个程序,由于切换的速度很快,让人感觉像是并发运行的
2.空间上的复用:
例如内存的运行机制,内存从硬件上被被分割成不同的区域存储着不同的应用程序。
这两种方法结合起来就是多道技术