操作系统的定义与功能:基础知识的解析

发表时间: 2019-02-04 11:34

大家好,今天我们来,聊一下,操作系统

操作系统是一种复杂的系统软件。是不同的程序代码。数据结构,数据初始化文件的集合,可执行。常用的操作系统除了Windows7,Windows10之外还有Linux,Ubuntu等等。

通常所说的装“系统”,就是指“操作系统"。操作系统提供计算机用户与计算机硬件之间的接口。并管理计算机软件和硬件资源。操作系统本身并不向用户可直接使用的功能,一台仅有操作系统的计算机对于用户而言几乎是没有用的。但是它为用户可直接使用的应用程序的运行提供了环境。并为应用程序的开发提供平台,使应用程序得开发变得简单,高效。

操作系统是覆盖在裸机上的第一层软件,编译程序,数据库管理系统及其他应用程序都运行在操作系统上,操作系统为这些软件提供运行环境。

操作系统在计算机系统中的位置

下面从不同角度说明操作操作系统

用户与硬件之间的接口

为什么说:”操作系统提供了计算机用户与计算机硬件之间的接口?”接口是两个不同组成部分的交接面。在计算机专业领域,接口分为硬件接口和软件接口,硬件接口如USB接口,串口和并口,软件接口如C语言中的函数调用printf()。 计算机的所有功能最终都是有硬件的操作来实现的。但是,通常使用如C,C++,Java,和python等高级程序语言所编写的应用程序中并没有直接操作硬件的语句,和指令。那为什么这些程序依然能够操纵显示器,打印机和绘图仪等硬件,通过硬件对程序执行结果,完成特定的功能呢?这是因为应用程序是在操作系统上运行的,而对硬件的控制过程都封装在操作系统的核心程序中了。

例如:执行用户程序的printf(),不需要在用户程序中写直接操作打印机或显卡的指令。但是在操作系统上运行的用户程序通过接口printf(),最终调用操作系统中实现输出功能的函数,其中包括了驱动硬件的指令,从而实现了对硬件的操作。这个过程比较漫长,实际上在printf()函数中有调用了其他的库函数,经过库函数的层层调用之后,调用操作系统中的特殊函数和驱动程序,控制硬件完成显示或者打印输出功能。 因为有了操作系统对硬件的抽象,而且,操作系统为应用程序提供了运行环境,所以在操作系统上编写和运行应用程序,只需要fopen(),fread()和fclose()这几个函数。但是,在没有操作系统的裸机上编写一个读文件的程序就复杂多了,必须清楚要读的文件在磁盘上的物理位置,即文件数据在磁盘上的柱面号,磁道和扇区号,还需要知道读入的数据放在内存的什么位置,然后调用相应的指令序列完成操作。

资源管理者

现代计算机系统的一个重要特点是支持多任务,即允许在同一个系统内同时驻留多个应用程序。多个应用程序共同使用计算机硬件和软件资源时,就需要操作系统对这些资源进行有效的管理。一方面保证用户程序的顺利执行,另一方面使计算机系统资源得到尽可能高效利用,保证计算机系统的高性能。操作系统所管理的资源主要包括处理机,内存,设备和文件。在网络操作系统中还包括网卡,带宽等。下面对操作系统的主要功能进行说明

1.处理机管理

本文章讲的是多任务操作系统的实现原理。由于程序程序的执行必须依靠处理机。任意时刻处理机只能执行一个程序流。因此,在单处理系统中执行多个程序,必须由操作系统的处理机调度程序来管理处理机的分配,以使用多个程序共享处理机,从宏观上看多个程序能同时顺利执行。在处理机系统中,也需要操作系统对多个处理机在多任务的情况下进行有效的管理。

2.内存管理

在多任务系统中,内存不再是独占资源,而是可能被多个应用程序共同占用。如何为多个应用程序分配内存并使不同应用程序的地址空间互不干扰,如何在程序执行完毕后回收其所占内存,以及完成逻辑地址到物理地址的转换,都是操作系统内存管理程序 要完成的功能。

3.设备管理

设备管理主要完成接受用户的I/O请求,为用户分配I/O设备,管理I/O缓存和驱动I/O设备等功能。

4.文件管理

计算机系统把大量需要长时间保留的数据信息以文件的形式存放在外存储设备中(如硬盘,U盘,光盘),操作系统通过自己的文件管理程序完成外存储空间的分配,回收,文件按名存取,文件的组织,共享与保护等功能。

·end·