计算机是分层的,这是计算机的复杂性和大量的需求导致的。
复杂性体现在设备的多样性,单机模拟多任务,硬件中断机制带来的不确定性。
大量的需求体现在人们对计算设备的需求,以及计算设备减少大量的劳动力,以及计算设备能完成大量劳动力也无法完成的事。
复杂性带来操作的不便,大量需求需要快速方便的操作计算机。在这个矛盾下,计算机科学家将计算机分层。
硬件设备是最基础的一层。硬件根据命令完成任务,这是计算机运行的根本。
操作系统为我们在烦杂的机器设备上提供了一层抽象。操作系统层的提出将整个计算机系统的概念大大减小。(尽管操作系统也十分复杂)
对设备分类是抽象的一种。
我们面对的是统一的操作系统,使用统一的系统调用,使用硬件的资源。
操作系统在设备上进行了抽象处理。
对于外部存储设备,UNIX统一认为是块设备,对块设备使用文件系统,所以我们面对的不在是硬盘,u盘...而是一棵文件树。我们使用open,read,write,close对文件进行操作。