操作系统基础(一)

简介: 操作系统基础(一)

一. 定义

操作系统(Operating System,OS):控制和管理计算机系统软件和硬件资源,合理组织资源分配;提供用户和其他软件接口和环境;是计算机系统最基本的系统软件


  • 操作系统是系统资源管理者;向上层提供服务;是最接近硬件的软件。
  • 操作系统对软硬件资源管理:如打开“任务管理器”如下:


计算机系统层次结构

二. 功能一:资源管理者

处理机管理

  • 分配和控制中央处理单元(CPU)的时间,确保多个进程或线程能够公平、有效地使用CPU资源。
  • 调度算法,如先来先服务(FCFS)、最短作业优先(SJF)、优先级调度、时间片轮转等,用于决定哪个进程或线程应该获得CPU的使用权。
  • 实现进程同步、互斥和通信机制,确保进程间协作的正确性。

存储器管理

  • 管理主存储器(RAM),包括内存分配、回收和保护
  • 提供内存管理机制,如分页、分段和虚拟内存技术,以满足多道程序对内存空间的需求。
  • 实现内存保护和地址映射,确保每个进程只能访问其被授权的内存区域。

文件管理

  • 提供文件的存储、检索、更新和保护功能。
  • 管理文件的目录结构,支持文件的按名存取。
  • 实现文件的逻辑结构和物理结构之间的转换
  • 提供文件保护和共享功能。

设备管理

  • 负责I/O设备(如磁盘、打印机、键盘等)的管理和控制
  • 实现设备的分配和回收,确保设备能够被高效、安全地使用。
  • 提供设备的驱动程序接口,使得操作系统能够控制设备的操作。
  • 实现设备的缓冲管理,提高I/O操作的效率

三. 功能目标二:实现用户接口(向上层提供服务)

  • 硬件:只能读取二进制指令,对外(上层)接口交互性差。
  • 操作系统:对硬件实现接口转换,对外(上层)接口交互性好。
  • 用户/软件:无需关心底层原理。只需要对操作系统发出命令即可。

GUI图形化用户接口

用户通过形象的图形化界面来对计算机进行操作,不需要记忆复杂命令、参数。

联机/脱机命令接口

  • 联机命令接口:=交互式命令接口;特点:逐句执行命令,如:打开cmd命令框,使用time命令,会得到当前时间显示。
  • 脱机命令接口:=批处理命令接口;特点:批量执行命令。如:windows系统.bat文件,里面填充了一系列命令。

程序接口

  • 定义:可以在程序中使用系统调用方式(API)使用程序接口;普通用户不能直接使用,只能通过程序代码间接使用。

四. 操作系统的特征

并发性

  • 定义:≥2个程序同一时间间隔内发生。宏观上是同时发生,微观上交替发生。

操作系统是伴随“多道程序技术”出现的,因此程序并发性是与生俱来的。

tips:并行性≥2个程序同一时刻发生。即同时发生。


  • 单核CPU同一时刻只能执行一个程序,因此只能采用并发执行
  • 多核CPU同一时刻能执行多个程序,因此可以采用并行执行,并发执行。【N个核即同时可以执行N个程序】

共享性

定义:即资源共享,系统资源可以被多个并发执行的进程共同使用。

实现方式:互斥共享,同时共享。

  • 互斥共享:一个时间段内只允许一个进程访问
  • 同时共享:允许一个时间段内多个进程“同时”访问

同时:往往指宏观上,微观上可能是交替访问(即分时共享)。

失去并发性,共享性就没有意义;失去共享性,并发性就无法实现。

虚拟

定义:虚拟是指把一个物理实体变为若干逻辑上的对应物。物理实体实际存在,逻辑对应物是用户感受到的。

技术:空分复用(如虚拟存储技术);时分复用(如虚拟处理器);


  • 空分复用(例如:虚拟存储技术):用户感受到的空间/内存大小 > 实际物理空间/内存的大小。

举例:内存有限,但是 可以同时运行多个 合计内存占用超过实际大小 的程序。


  • 时分复用:将大时间段分成若干小时间段,把若干微小时间段分给各个进程服务。

例子:单核CPU可以同时运行多个程序。【微观上是交替占用cpu运行】

失去并发性,一个时间段只能运行一个程序,就会失去虚拟性的意义,


异步

定义:异步性是指多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,走走停停,以不可预知的速度向前推进

失去并发性,则只能串行运行程序,就不会出现异步性。


五. 操作系统发展与分类

手工操作阶段

  • 最初程序员使用纸带作为程序介质,利用纸带机读取0,1序列。

处理流程:手工装入纸带—> 读取纸带内容----> 进行计算(快)----->手工取出纸带。


  • 缺点:用户独占全机,人机速度矛盾导致资源利用率极低。

批处理阶段

  • 单道批处理系统:引入脱机输入/输出技术,并由**监督程序(操作系统雏形)**负责控制作业的输入,输出。


  • 优点:一定程度上缓解了人机速度矛盾,资源利用率有所提升。
  • 缺点:一段时间间隔内,内存中只能运行一个程序CPU有大量时间等待空闲I/O完成,资源利用率依然很低。
  • 多道批处理系统:每次向内存中读入多道程序。操作系统正式诞生,用于支持多道程序并发执行。


  • 优点:多道程序并发执行,共享计算机资源。大幅度提升资源利用率,系统吞吐量增大。
  • 缺点:用户响应时间长,没有人机交互功能(eg.不能在运行中调试/加入参数等)

分时操作系统

  • 计算机以时间片为单位,轮流为各个用户/作业服务,各个用户可以通过终端与计算机进行交互。
  • 优点:用户请求可以及时响应,解决了人机交互问题。运行多个用户共享一台计算机,并且用户对操作系统相互独立,感受不到别人的存在。
  • 缺点:不能优先处理紧急任务。操作系统对各个用户/作业都是绝对公平,循环提供时间片,不区分任务紧急性。


实时操作系统

  • 能够优先响应紧急任务,某些紧急任务不需要时间片排队。
  • 计算机系统收到外部信号后及时处理,要在严格时限内处理完毕
  • 主要特点:及时性,可靠性
  • 分类:硬实时系统,软实时系统


  • 硬实时系统:必须绝对遵守规定时间内完成处理。(如:导弹控制系统,自动驾驶系统)
  • 软实时系统:可以接受偶尔违反时间规定。(如:火车订票系统)


其他几种操作系统

目录
相关文章
|
6月前
|
存储 安全
计算机操作基础
计算机操作基础
|
6月前
|
安全 物联网 调度
【软件设计师备考 专题 】网络操作系统和嵌入式操作系统基础知识
【软件设计师备考 专题 】网络操作系统和嵌入式操作系统基础知识
119 0
|
2月前
|
存储 安全 Linux
操作系统的心脏:内核探秘
在数字世界的庞大机器中,操作系统扮演着至关重要的角色,而其核心—内核则如同这台机器的心脏。本文将深入浅出地剖析操作系统内核的设计哲学、功能组成以及它如何管理硬件资源和提供系统服务。我们将一同探索进程调度、内存管理、文件系统等关键组件,并通过实例了解它们是如何协同工作以确保系统的高效与稳定。无论你是技术新手还是资深开发者,这篇文章都将为你打开一扇了解操作系统深邃世界的大门。
38 3
|
2月前
|
安全
探索操作系统的心脏:内核与用户模式的奥秘
在数字世界的海洋中,操作系统如同一艘巨轮,承载着无数数据的流动。本文将揭开这艘巨轮的核心机密——内核与用户模式,带你领略它们如何协同工作,确保系统的稳定与安全。通过浅显易懂的语言和生动的比喻,我们将一探究竟,看看这两种模式如何在幕后默默支撑着我们的日常计算体验。准备好了吗?让我们启航,深入操作系统的心脏地带!
|
3月前
|
存储 Linux 程序员
操作系统基础 (二)
操作系统基础 (二)
32 1
|
3月前
|
机器学习/深度学习 存储 人工智能
操作系统的心脏:内核探索之旅
【8月更文挑战第11天】在数字世界的宏伟建筑中,操作系统是支撑软件生态和硬件资源协同工作的基石。而在这庞大复杂的系统中,内核则是其跳动的心脏。本文将深入探讨操作系统内核的设计哲学、功能组件以及它在现代计算环境中的作用与挑战。我们将一窥内核如何管理处理器、内存、存储设备等关键资源,并分析它如何在多任务处理、安全性保障及系统性能优化方面扮演至关重要的角色。此外,文章还将讨论当前技术趋势对内核设计的影响,以及未来可能出现的创新方向。
|
5月前
|
存储 算法 安全
操作系统基础
操作系统基础
55 0
|
5月前
|
存储 物联网 调度
探秘操作系统的心脏:内核
【6月更文挑战第6天】本文将深入探讨操作系统的核心——内核。我们将从内核的定义和功能出发,逐步揭示其在操作系统中的重要性。接着,我们将详细解析内核的主要组成部分,包括进程管理、内存管理、文件系统等。最后,我们将探讨内核的发展趋势,以及它在未来操作系统中可能扮演的角色。
|
存储 算法 安全
29【操作系统】计算机操作系统知识点总结
操作系统是计算机系统中最重要的软件之一,是计算机硬件和应用程序之间的桥梁,是计算机用户与计算机硬件之间的接口。 操作系统涉及到操作系统的原理、结构、管理、调度等方面的知识。
285 0
|
消息中间件 存储 Ubuntu
【操作系统基础知识 一】操作系统基本原理
【操作系统基础知识 一】操作系统基本原理
162 0