以下是操作系统在大英百科全书里的定义:
operating system (OS), program that manages a computer’s resources, especially the allocation of those resources among other programs. Typical resources include the central processing unit (CPU), computer memory, file storage, input/output (I/O) devices, and network connections. Management tasks include scheduling resource use to avoid conflicts and interference between programs. Unlike most programs, which complete a task and terminate, an operating system runs indefinitely and terminates only when the computer is turned off.
定义一件事物,首先要先指出它属于哪一个分类,就好像说苹果是一种水果,而操作系统是一种系统软件。然后再根据它的特点与其它同类的事物进行区分,苹果区分于其它水果的特点包括大小、味道等,而操作系统区别于其它系统软件的特点在于它所提供的与众不同的功能:资源管理,包括cpu, memory, file storage, input/output (I/O) devices and network connections.
操作系统不是自然界中自然产生的,所以带有人为的意志,也就是操作系统有特定的目标。针对不同的受众,不同的操作系统在设计的选择上有所不同,例如受众为技术型用户的系统自然不太重视操作的方便性。大体来说操作系统的目标是,提供一个方便的操作环境,尽可能大限度地利用计算机资源。
还有一个问题就是操作系统的可移植性,实际上这并不算是操作系统自身的问题,这是编写系统所用的语言的问题,例如unix起初是用汇编写的,而汇编对机器的依赖性很高,要移植到另一台机器上(cpu型号不相同),由于cpu的指令等都不尽相同,所以很可能重新编写还容易一点。而几年之后unix的作者与另一位大师合作发明了c语言,并用c语言重写了unix,这使得unix更方便移植。只要一种型号的一台机器上有c编译器,我们就能在这台机器上编译unix的源代码生成内核,然后发布出去让没有c编译器的同类型机器安装(编译生成的内核是二进制文件)。
照上面所说原本应该是每种机器就有不同的unix的,但由于当前intel基本上统治了pc,其它厂商也大都兼容intel的指令,所以从intel编译出来的内核在amd或其它机器上也能使用,所以基本上内核都是通用的了(在PC上)。例如fedora 13,到它的官网上去看,会发现只有一个pc兼容版,写着:“它们可以运行在32及64位的 Intel 和 AMD 兼容 PC上,而 Fedora 的32位 PC 版本则更加出色。”