操作系统是一组主管并控制计算机操作、运用和运行硬件、软件资源和提供公共服务来组织用户交互的相互关联的系统软件程序。根据运行的环境,操作系统可以分为桌面操作系统,手机操作系统,服务器操作系统,嵌入式操作系统等。
通俗来讲,操作系统就是一个软件,只是这个软件与我们平时说的软件有所不同,平时讲的QQ、微信等软件是应用软件,也就是用户使用的上层软件,而操作系统是管理软件、硬件的一种系统软件。
如上图:操作系统所处的层次是在应用软件和硬件之间,中间还有个驱动层。
对下,操作系统管理好软硬件资源(手段)。
因为用户不能直接访问硬件,所以操作系统给用户提供接口来对硬件进行控制,通过设备驱动来完成。比如要访问磁盘,用户总不能自己拨动二极管吧,此时操作系统调度磁盘驱动访问到磁盘,给用户提供访问服务以达到目的。
对上,操作系统提供安全、稳点、高效的运行环境(目的)。
用户是上帝,操作系统要服务用户,需要提供优质的环境,管理软硬件的最终目的都是保证用户的使用体验。
举个例子,在计算机公司中,底下的每个码农就相当于硬件,接受着来自上级管理者(设备驱动)的任务,因为公司老总(操作系统)不会直接下达命令给每个码农,一个一个和他们说今天你要完成什么任务,而是会先交代给下面的管理者,再让他们分配任务给码农(硬件)。
而老总(操作系统)上面还有用户(应用软件),老总管理底下员工发布任务,最终目的都是为了让用户获得优质体验。
操作系统主要包括以下几个方面的功能 :
①进程管理,其工作主要是进程调度,在单用户单任务的情况下,处理器仅为一个用户的一个任务所独占, 进程管理的工作十分简单。但在多道程序或多用户的情况 下,组织多个作业或任务时,就要解决处理器的调度、 分配和回收等问题 。
②存储管理分为几种功能:存储分配、存储共享、存储保护 、存储扩张。
③设备管理分有以下功能:设备分配、设备传输控制 、设备独立性。
④文件管理:文件存储空间的管理、目录管理 、文件操作管理、文件保护。
⑤作业管理是负责处理用户提交的任何要求。
操作系统会控制其他程序运行,管理系统资源,提供最基本的计算功能,如管理及配置内存、决定系统资源供需的优先次序等,同时还提供一些基本的服务程序,例如:
1) 文件系统
提供计算机存储信息的结构,信息存储在文件中,文件主要存储在计算机的内部硬盘里,在目录的分层结构中组织文件。文件系统为操作系统提供了组织管理数据的方式。
2)设备驱动程序
提供连接计算机的每个硬件设备的接口,设备驱动器使程序能够写入设备,而不需要了解执行每个硬件的细节,刚刚已经具体说过了。
3) 用户接口
操作系统需要为用户提供一种运行程序和访问文件系统的方法。如常用的 Windows 图形界面,可以理解为一种用户与操作系统交互的方式;智能手机的 Android 或 iOS 系统,也是一种操作系统的交互方式。
4) 系统服务程序
当计算机启动时,会自启动许多系统服务程序,执行安装文件系统、启动网络服务、运行预定任务等操作。打个比方,操作系统就好像是一个政府,其它软件都会被它管控;操作系统在给其他软件提供各种便利的同时,还会约束其他软件不能为所欲为。
目前流行的服务器和 PC 端操作系统有 Linux、Windows、UNIX 等,手机操作系统有 Android、iOS、Windows Phone(简称 WP),嵌入式操作系统有 Windows CE、PalmOS、eCos、uClinux 等。