操作系统充当计算机用户和计算机硬件之间的中介。操作系统的目的是提供一种环境,在该环境中用户可以方便且有效地执行程序。
操作系统是管理计算机硬件的软件。硬件必须提供适当的机制,以确保计算机系统正确运行并防止用户程序干扰系统的正常运行。
1)操作系统是控制应用程序执行的程序,并充当计算机用户和计算机硬件之间的接口。
2)更为常见的定义是,操作系统是始终在计算机上运行的一个程序(通常称为内核),而其他所有程序都是应用程序。
3)操作系统与资源和服务(例如内存,处理器,设备和信息)的分配有关。操作系统相应地包括用于管理这些资源的程序,例如流量控制器,调度程序,内存管理模块,I / O程序和文件系统。
操作系统的功能 - 操作系统执行三个功能:
1)便利性:操作系统使计算机更易于使用。
2)效率:OS允许高效使用计算机系统资源。
3)不断发展的能力:操作系统的构建方式应允许在不干扰服务的情况下同时有效地开发,测试和引入新的系统功能。
操作系统作为用户界面
1)用户2)系统和应用程序3)操作系统4)硬件
每台通用计算机均由硬件,操作系统,系统程序和应用程序组成。硬件包括内存,CPU,ALU和I/O设备,外围设备和存储设备。系统程序由编译器,加载器,编辑器,OS等组成。应用程序由业务程序,数据库程序组成。
每台计算机都必须具有操作系统才能运行其他程序。操作系统在用于各种用户的各种系统程序和应用程序之间协调硬件的使用。它只是提供了一个环境,其他程序可以在其中进行有用的工作。
操作系统是在计算机系统上运行的一组特殊程序,可以使其正常运行。它执行基本任务,例如识别键盘输入,跟踪磁盘上的文件和目录,将输出发送到显示屏以及控制外围设备。
操作系统旨在满足两个基本目的:
1)它控制着各种用户和任务之间计算系统资源的分配和使用。
2)它提供了计算机硬件和程序员之间的接口,简化了应用程序的编码,创建,调试并使之可行。
操作系统必须支持以下任务:
1)提供使用编辑器创建,修改程序和数据文件的功能。
2)访问编译器以将用户程序从高级语言转换为机器语言。
3)提供一个加载程序,将已编译的程序代码移至计算机的内存中以执行。
4)提供处理I/O编程细节的例程。
I/O系统管理
跟踪设备状态的模块称为I/O流量控制器。每个I/O设备都有一个设备处理程序,该处理程序位于与该设备关联的单独进程中。
I/O子系统包括:
1)一个内存管理组件,包括缓冲缓存和后台处理。
2)通用设备驱动程序接口。
3)特定硬件设备的驱动程序。
汇编程序
汇编程序的输入是汇编语言程序。输出是目标程序以及使加载程序准备执行目标程序的信息。很早以前,计算机程序员使用通过硬件解释某些基本指令的基本机器。他将通过编写一系列的“ 1”和“ 0”(机器语言)来对此计算机进行编程,然后将它们放入机器的内存中。
编译器
高级语言,例如FORTRAN,COBOL,ALGOL和PL/I,由编译器和解释器处理。编译器是接受“高级语言”源程序并生成相应目标程序的程序。解释器是一个看起来像在执行机器语言一样执行源程序的程序。通常使用相同的名称(FORTRAN,COBOL等)来指定编译器及其关联语言。
加载程序
加载程序是一种加载目标程序并准备执行的例程。有多种加载方案:绝对加载,重定位和直接链接。通常,加载器必须加载,重定位和链接目标程序。加载程序是一种程序,可将程序放入内存并为执行做好准备。在一个简单的加载方案中,汇编程序在辅助设备上输出程序的机器语言翻译,然后加载程序将其放在内核中。加载程序将用户程序的机器语言版本存储到内存中,并将控制权转移给该程序。由于加载程序比汇编程序小得多,因此它们使用户程序可以使用更多内核。
操作系统的历史
多年来,操作系统一直在发展。下表显示了操作系统的历史记录。
操作系统类型
1)批处理操作系统 - 在没有人工干预的情况下,计算机程序中的作业顺序。
2)分时操作系统 - 允许许多用户共享计算机资源(最大程度地利用资源)。
3)分布式操作系统 - 管理一组不同的计算机,使其看起来像是一台计算机。
4)网络操作系统 - 运行在不同操作系统中的计算机可以参与公共网络(用于安全目的)。
5)实时操作系统 – 意味着应用程序要确定最后期限。
操作系统的示例:
1)Windows(基于GUI的PC)
2)GNU / Linux(个人,工作站,ISP,文件和打印服务器,三层客户端/服务器)
3)macOS(Macintosh),用于Apple的个人计算机和工作站(MacBook,iMac)。
4)Android(用于智能手机/平板电脑/智能手表的Google操作系统)
5)iOS(Apple的iPhone,iPad和iPod Touch操作系统)