从网上了解到操作系统的主要功能是资源管理,程序控制和人机交互等。计算机系统的资源可分为设备资源和信息资源两大类。设备资源指的是组成计算机的硬件设备,如中央处理器,主存储器,打印机和鼠标等。信息资源指的是存放于计算机内的各种数据,如文件,程序库,知识库,系统软件和应用软件等。然而操作系统位于底层硬件与用户之间,是两者沟通的桥梁。用户可以通过操作系统的用户界面,输入命令,操作系统则对命令进行解释,驱动硬件设备,实现用户要求。一台计算机在没有安装任何软件的时候我们称它为“裸机”,这样的计算机是什么也做不了的,只有安装了操作系统的计算机才能发挥它的硬件功能,在操作系统的基础上我们可以安装特定功能的软件,这是对计算机的第二次功能扩展,操作系统为我们管理计算机的硬件和软件资源。
但是为什么我们要学习操作系统吗?仅仅是因为我们是就读计算机系吗?不是的。首先,操作系统的功能应用于很多领域。如果开发并发程序:Web Service、分布式系统和网络,你会发现,这些领域大量使用了操作系统的概念和技术。其次,操作系统的技巧也应用于很多领域,如抽象、缓存、并发等。操作系统简单来说就是实现抽象:进程抽象、文件抽象、虚拟存储抽象等。所以,学习好操作系统,就能屏蔽硬件物理特性和操作细节,为用户使用计算机提供了便利;还能有效管理系统资源,提高系统资源使用效率。
那么我们如何学好这门课程呢?首先上课时候认真听讲,掌握计算机操作系统的基本概念、各种资源管理的思想和算法,能够较好的理解操作系统原理,而且能够拓展原理的应用。其次,要做到学以致用,用以促学:把学的东西和自己的理解,在现有的操作系统上进行尝试理解,同时通过用来反思操作系统的工作原理。平时还可以多用linux系统作为研究对象,进行对源码的分析。做到多想多问多讨论。通过思考,发现不足点,可以查阅知乎论坛,或者多和同学老师讨论,深化对知识的理解。
我还上网对操作系统的发展史做了一些简单的了解。第一部计算机并没有操作系统。这是由于早期个人电脑的建立方式(如同建造机械计算机)与效能不足以执行如此程序。但在1947年发明了晶体管,以及威尔克斯(Maurice Vincent Wilkes)发明的微程序方法,使得电脑不再是机械设备,而是电子产品。系统管理工具以及简化硬件操作流程的程序很快就出现了,且成为操作系统的基础。早期最著名的磁盘启动型操作系统是CP/M,它支持许多早期的微电脑,且其功能被MS-DOS大量抄袭。大型机与嵌入式系统使用很多样化的操作系统。在服务器方面Linux、UNIX和WindowsServer占据了市场的大部分份额。在超级计算机方面,Linux取代Unix成为了第一大操作系统,随着智能手机的发展,Android和iOS已经成为目前最流行的两大手机操作系统。