操作系统执行所有基本任务,例如管理文件,进程和内存。因此,操作系统充当所有资源的管理器,即资源管理器。因此,操作系统成为用户与机器之间的接口。
操作系统类型
一些广泛使用的操作系统如下:
1.批处理操作系统
这种操作系统不直接与计算机交互。有一个操作员接受具有相同要求的类似作业,并将它们分组成批。操作员有责任对有类似需求的工作进行分类。
批处理操作系统的优点:
1)很难猜测或知道完成任何工作所需的时间。批处理系统的处理器知道队列中的作业要花多长时间
2)多个用户可以共享批处理系统
3)批处理系统的空闲时间非常少
4)在批处理系统中重复管理大型工作很容易
批处理操作系统的缺点:
1)计算机操作员应该熟悉批处理系统
2)批处理系统很难调试
3)有时成本很高
4)如果任何作业失败,其他作业将不得不等待未知的时间
批量操作系统示例:工资单系统、银行对账单等。
2.分时操作系统
每个任务都有一定的执行时间,以便所有的任务都能顺利进行。每个用户在使用单个系统时获得CPU时间。这些系统也被称为多任务系统。任务可以来自单个用户,也可以来自不同的用户。每个任务执行的时间称为quantum。在这个时间间隔结束后,操作系统切换到下一个任务。
分时操作系统的优势:
1)每个任务都有平等的机会
2)可以减少CPU空闲时间
分时操作系统的缺点:
1)可靠性问题
2)必须注意用户程序和数据的安全性和完整性
3)数据通信问题
分时操作系统的示例包括:Multics,Unix等。
3.分布式操作系统
这些类型的操作系统是计算机技术世界中最近的一项进步,正在被全世界广泛接受,而且速度也很快。各种自治的相互连接的计算机使用共享的通信网络互相通信。独立的系统拥有自己的内存单元和CPU。这些系统称为松散耦合系统或分布式系统。这些系统的处理器在大小和功能上各不相同。使用这些类型的操作系统的主要好处是,一个用户总是可以访问文件或软件,这些文件或软件实际上并不存在于他的系统中,而是存在于这个网络中的其他系统中。在该网络中连接的设备中启用远程访问。
分布式操作系统的优势:
1)一个系统的故障不会影响另一网络的通信,因为所有系统都是相互独立的
2)由于资源是共享的,因此计算非常快速
3)主机上的负载减少
4)这些系统易于扩展,因为许多系统可以轻松添加到网络中
5)数据处理的延迟减少了
分布式操作系统的缺点:
1)主网络故障将停止整个通信
2)要建立分布式系统,所使用的语言还没有很好的定义
3)这些类型的系统非常昂贵,因此不易获得。不仅底层软件非常复杂并且尚未被很好地理解
分布式操作系统的示例是LOCUS等。
4.网络操作系统
这些系统在服务器上运行,并提供管理数据,用户,组,安全性,应用程序和其他联网功能的功能。这些类型的操作系统允许在小型专用网络上共享访问文件,打印机,安全性,应用程序和其他网络功能。网络操作系统的另一个重要方面是,所有用户都清楚底层配置,网络中所有其他用户,他们各自的连接等,因此这就是为什么这些计算机通常被称为紧密耦合系统。
网络操作系统的优点:
1)高度稳定的集中式服务器
2)安全问题通过服务器处理
3)新技术和硬件升级很容易集成到系统中
4)可以从不同位置和类型的系统远程访问服务器
网络操作系统的缺点:
1)服务器价格昂贵
2)用户必须依靠中心位置进行大多数操作
3)定期需要维护和更新
网络操作系统的示例包括:Microsoft Windows Server 2003,Microsoft Windows Server 2008,UNIX,Linux,Mac OS X,Novell NetWare和BSD等。
5.实时操作系统
这些类型的OS服务于实时系统。处理和响应输入所需的时间间隔很小。该时间间隔称为响应时间。
实时系统用于对时间要求非常严格的场合,例如******系统,空中交通管制系统,机器人等。
两种类型的实时操作系统,如下所示:
1)硬实时系统:
这些操作系统适用于时间限制非常严格,甚至最短延迟都不可接受的应用程序。这些系统是为拯救生命而建造的,就像自动降落伞或安全气囊一样,一旦发生事故,它们就必须随时可用。在这些系统中几乎从来没有虚拟内存。
2)软实时系统:
这些操作系统适用于时间限制不太严格的应用程序。
实时操作系统的优势:
1)最大消耗:设备和系统的最大利用率,从而增加所有资源的输出
2)任务转移:在这些系统中,为转移任务分配的时间非常少。例如,在较旧的系统中,将一项任务转移到另一项任务大约需要10微秒,而在最新的系统中,则需要3微秒。
3)专注于应用程序:专注于运行应用程序,而对排队的应用程序不太重视。
4)嵌入式系统中的实时操作系统:由于程序较小,因此RTOS还可用于嵌入式系统中,例如在传输系统和其他系统中。
5)无错误:这些类型的系统无错误。
6)内存分配:内存分配在这些类型的系统中管理得最好。
RTOS的缺点:
1)有限的任务:很少有任务同时运行,它们很少集中在少数应用程序上以避免错误。
2)使用大量的系统资源:有时系统资源不是很好,而且也很昂贵。
3)复杂的算法:算法非常复杂,设计人员难以编写。
4)设备驱动程序和中断信号:需要特定的设备驱动程序和中断信号以最早响应中断。
5)线程优先级:设置线程优先级并不好,因为这些系统不太容易切换任务。
实时操作系统的示例包括:科学实验,医学成像系统,工业控制系统,武器系统,机器人,空中交通管制系统等。