操作系统的用途

对于计算机而言:操作系统是在硬件和软件之间的一层软件,所有应用程序对硬件的操作都必须通过操作系统。


操作系统的用途:
1 防止硬件被一些应用程序非法控制(非操作系统允许的操作);
2 操作系统为硬件的操作提供简单一致的方法。

操作系统通过(进程、虚拟存储器、文件)对I/O设备实现操作。

文件是对I/O设备的抽象表示;
虚拟存储器是对主存和磁盘I/O设备的抽象表示;
进程则是对处理器、主存、I/O设别的抽象表示;

一、进程

当一个程序在计算机中运行时,系统给前端用户提供一种类似于只有一个程序在运行的假象。程序看上去独占处理器、主存、I/O设备,而处理器看上去像在不间断的执行程序中的指令,程序中的代码和数据看上去像是存储器中唯一的对象,这些假象都是计算机中进程的概念来实现。
进程是操作系统对运行程序的一种抽象。在一个系统上可以同时运行多个进程,而每个进程都像同时在运行,并且独占硬件,我们将这种现象称之为并发运行,实际上进程是交替运行,操作系统实现这种交替运行的机制,我们称之为上下文切换。
操作系统保存进程运行时,所需的状态,这种状态称之为 上下文。

二、线程

通常一个进程只有单一的运行流,在操作系统中,一个进程实际上可以由多个线程执行单元组成,每个线程都运行在进程的上下文中,并共享进程的代码和全局数据。由于网络服务器中对并行处理的要求,线程成为越来越重要的编程模型,因为多线程比多进程之间更容易共享数据。

三、虚拟存储器

虚拟存储器为每一个进程提供一个独占使用的主存。

四、文件

文件其实就是一些文字信息,在linux中,所有I/O设备都被看成文件,系统中对硬件的操作,都是通过对文件的操作来完成的。
文件这个简单概念,使应用程序可以统一的看待系统中所有的i/o设备。