操作系统的特征
操作系统的特征包括并发、共享、虚拟和异步,以下为你详细阐述:
- 并发
- 定义:并发是指两个或多个事件在同一时间间隔内发生。在操作系统中,多个程序或任务在宏观上是同时运行的。虽然在单处理器系统中,同一时刻实际上只能有一个程序在处理器上执行,但通过操作系统的调度算法,处理器在多个程序之间快速切换,使得它们在一段时间内都能得到执行,从用户的角度来看,就好像这些程序在同时运行一样。而在多处理器系统中,多个程序可以真正地同时在不同的处理器上并行执行。
- 实现方式:操作系统通过进程和线程的管理来实现并发。进程是资源分配的基本单位,线程是处理器调度的基本单位。操作系统为每个进程或线程分配一定的时间片,当时间片用完后,就会暂停当前进程或线程的执行,切换到其他进程或线程,以此实现多个程序的并发执行。
- 作用:提高系统资源的利用率,让多个程序能够同时运行,充分利用处理器、内存、I/O设备等资源,减少资源的空闲时间。同时,也能提高系统的响应速度,使得用户可以同时进行多个任务,例如同时进行文件下载、音乐播放和文档编辑等操作,而不必逐个顺序执行,从而提高了用户的工作效率和使用体验。
- 共享
- 定义:共享是指系统中的资源可供多个并发执行的进程共同使用。根据资源的不同特性,共享方式可分为互斥共享和同时共享。
- 共享方式
- 互斥共享:有些资源在同一时刻只能被一个进程使用,这种资源称为临界资源,如打印机、磁带机等。当一个进程正在使用这类资源时,其他进程必须等待,直到该进程使用完毕并释放资源后,其他进程才能使用。
- 同时共享:有些资源可以被多个进程同时访问和使用,如内存、磁盘等。多个进程可以同时将各自的数据和程序代码存放在内存的不同区域,也可以同时对磁盘上的不同文件进行读写操作。
- 实现机制:为了实现资源的共享,操作系统需要提供相应的同步机制,如信号量、互斥锁等,来协调多个进程对共享资源的访问,确保资源的正确使用和数据的一致性。例如,通过信号量可以控制同时访问某一共享资源的进程数量,当信号量的值为0时,表示资源已被占用,其他进程需要等待;当信号量的值大于0时,进程可以获取资源并将信号量的值减1,使用完资源后再将信号量的值加1,以释放资源供其他进程使用。
- 虚拟
- 定义:虚拟是指通过某种技术把一个物理实体变为若干个逻辑上的对应物。操作系统中的虚拟技术主要有虚拟处理器、虚拟内存、虚拟设备等。
- 虚拟技术类型
- 虚拟处理器:通过分时复用技术,将一个物理处理器虚拟成多个逻辑处理器,每个逻辑处理器可以被一个进程或线程使用,使得多个进程或线程可以并发执行,好像每个进程或线程都有自己独立的处理器一样。
- 虚拟内存:虚拟内存技术将硬盘的一部分空间模拟成内存使用,使得系统可运行的程序大小不受实际物理内存的限制。操作系统将程序中当前不使用的部分暂时存放在硬盘上,当需要使用时再将其调入内存,同时将内存中暂时不用的部分调出到硬盘上,这种换入换出的操作对用户是透明的。
- 虚拟设备:虚拟设备技术可将一台物理设备虚拟成多台逻辑设备,供多个进程同时使用。例如,通过假脱机技术(SPOOLing),可以将一台物理打印机虚拟成多台逻辑打印机,每个进程都可以向自己的逻辑打印机发送打印任务,而不必等待其他进程打印完成,提高了打印机的利用率。
- 优势:虚拟技术提高了资源的利用率和系统的灵活性。通过虚拟处理器,多个进程可以共享一个物理处理器,提高了处理器的利用率;虚拟内存使得程序可以在内存不足的情况下运行,扩大了程序的运行空间;虚拟设备使得多个进程可以同时使用同一台物理设备,提高了设备的并发度和利用率。
- 异步
- 定义:在多道程序环境下,由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进。每个进程在执行过程中可能会因为等待某个事件的发生(如等待用户输入、等待I/O操作完成、等待获取共享资源等)而暂停,当该事件发生后,进程才会继续执行。由于这些事件的发生时间是不确定的,因此进程的执行具有异步性。
- 表现形式:进程的异步性表现为进程的执行顺序和执行时间的不确定性。即使是相同的程序和输入,在不同的运行环境下,由于系统资源的分配情况和其他进程的干扰,其执行顺序和执行时间也可能不同。例如,两个进程都需要使用打印机进行打印,它们的打印请求可能会因为打印机的繁忙程度和操作系统的调度策略而以不同的顺序得到执行,而且每个进程的打印时间也会受到其他因素的影响,如打印文件的大小、打印机的速度等。
- 影响:异步性给操作系统的设计和实现带来了一定的复杂性,因为操作系统需要处理各种不确定的情况,确保系统的稳定性和正确性。同时,对于应用程序开发者来说,也需要考虑到进程的异步执行可能带来的问题,如数据竞争、死锁等,并采取相应的措施来保证程序的正确性和可靠性。然而,异步性也是操作系统能够高效运行的关键之一,它使得操作系统能够充分利用系统资源,在多个进程之间进行合理的调度和分配,提高系统的整体性能。
操作系统I 文章被收录于专栏
操作系统(Operating System,简称 OS)是管理计算机硬件与软件资源的核心程序,是用户与硬件之间的桥梁,也是计算机系统的核心组成部分。