计算机导论04-操作系统

news2024/9/27 9:24:19

操作系统基础

操作系统及其特征

操作系统的概念

操作系统是:

  • 管理和控制计算机硬件与软件资源的计算机程序的集合;
  • 操作系统直接运行在“裸机”之上,是最基本的系统软件,其他软件都必须在操作系统的支持下才能运行。

操作系统是:

  1. 能有效地组织和管理计算机系统中的硬件和软件资源,合理地组织计算机工作流程,控制程序的执行;
  2. 并向用户提供各种服务功能,使得用户能够有效、合理、方便地使用计算机;
  3. 并使整个计算机系统能高效地运行的一组程序模块的集合

操作系统是:

  1. 硬件与所有其他软件的接口;
  2. 是用户与计算机交互通讯的桥梁;
  3. 是用户管理、控制、使用计算机系统的中心。

在这里插入图片描述

系统管理员和程序员角度的操作系统用户或使用者角度的操作系统
为用户提供一台等价的扩展机器,也称虚拟机,它比底层硬件更容易编程。是系统的资源管理者。

操作系统的重要作用:

  • 是通过资源管理提高计算机系统的效率,改善人机交互界面向用户提供友好的工作环境。

在这里插入图片描述

操作系统的特征

(1) 并发性(concurrency)

  • 宏观上,多程序同时运行;微观上,单程序分时执行(或交替执行)

(2) 共享性(sharing)

  • 允许并发程序共享系统资源,互斥共享、同时访问

(3) 虚拟性(virtual)

  • 虚拟性是指通过特定的技术将一个物理实体设备划分为若干个功能相同的逻辑单位,以扩展原设备的功能,支持多程序并发处理;如虚拟处理机(CPU)、虚拟内存器等

(4) 异步性(asynchronism)

  • 多道程序环境下,允许多个程序并发执行,但当某种资源冲突时,某个程序进程不一定是连续的,可能需要分时、分步进行,即进程的异步性。

操作系统的类型

操作系统的类型

批处理操作系统

  • 多道程序或任务,系统管理分批处理
    分时操作系统
  • 操作系统将CPU的时间划分为若干时间片,以时间片为单位,将资源轮流提供给不同的用户或程序进程

典型的操作系统是分时批处理操作系统:遵守“分时优先,批处理在后”资源分配原则

实时操作系统

  • 系统及时响应用户请求,实时进行任务处理

网络操作系统

  • 对多台联网的计算机进行控制与协调,安装在服务器(Server)上,管理控制全网资源。

    ○ UNIX 家族: Linux、AIX、Solaris、HP UX等
    ○ Windows NT Server
    ○ Novell NetWare

分布式操作系统

  • 系统资源分布于网络中不同的计算机,资源查找-资源分配

桌面操作系统

  • 用来控制单台计算机,常用于台式机和笔记本计算机;大部分单机操作系统可以联网;与其他计算机上的网络操作系统协同工作,作为客户机操作系统。
硬件的角度原件的角度
PC机,Mac机UNIX操作系统,windows操作系统

嵌入式操作系统

  • 嵌入式单片机的操作系统,是嵌入式系统的一个重要组成部分,存储在嵌入设备内部的 ROM 中。

典型操作系统

UNIX

  • 可以在大型机、小型机、工作站、各种 CPU 、各种档次的计算机上运行;
  • 运行稳定、可靠;
  • 较强的安全性控制;
  • 大型网络服务器主要采用的操作系统;
  • 标准化程度很高;
  • GUI 和命令行界面

Linux

  • 免费使用和自由传播的类Unix操作系统
  • 继承了Unix以网络为核心的设计思想,稳定、可靠、安全
  • 较流行的版本有:
    ○ RedHat Linux
    ○ Debian Linux
    ○ RedFlag Linux,首个国产的操作系统

Mac OS

  • Apple公司的Macintosh 计算机上运行
  • 拥有最先进的GUI技术
  • 要求 CPU 是 PowerPC 微处理器
  • 在影视、广告等媒体传播行业广泛使用

Windows

  • 主流的微机操作系统。
  • 要求 CPU 是 Intel 微处理器。
  • 具有简单、易学、易用的图形用户界面(Graphical User Interface,GUI)。

移动及手机操作系统
Android(谷歌)、iOS(苹果)、Windows Phone(微软)、Symbian(塞班,诺基亚)、BlackBerry OS(黑莓)、HarmonyOS(鸿蒙,华为)

操作系统的功能

操作系统的功能可以从资源管理的角度和从方便用户(人机交互) 的角度来理解。

资源管理

计算机系统的设备资源和信息资源(硬件资源和软件资源)都是操作系统根据用户需求按一定的策略来进行分配和调度的。

在这里插入图片描述

操作系统功能示意图

处理机管理

处理机管理的核心是如何有效地、合理地分配处理机的时间,提高系统的效率。
进程

  • 进程是正在运行的程序,是程序及其数据在计算机机上执行时所发生的一次运行活动。它是操作系统动态执行的基本单元。
  • 进程作为一个过程,由输入、处理、输出各阶段组成,每个阶段可能又分为若干个基本的步骤

程序与进程

  • 程序是指令的集合,是静态的,进程是程序在计算机上的执行过程,是动态的;
  • 程序是可以永久保存的,进程是有生命周期的,进程执行完成后终止消失
  • 程序可以多次执行,每次执行时可能产生不同的多个进程;
  • 程序指令可以分解为不同的进程组合

处理机管理的核心是进程管理

  • 包括进程控制(创建,撤销,模态转换)、过程同步、进程通讯、进程调度

进程的三态模型

  • 就绪态、运行态和阻塞态,也称为三态模型。

在这里插入图片描述

进程三态模型

进程调度

  • 当有多个进程(或多个进程发出的请求)要使用处理机资源时,因为资源的有限性,必须按照一定的原则选择进程来占用资源,这就是进程调度。
  • 常用的进程调度算法有先来先服务调度算法、时间片轮转调度算法、优先数法等。

线程

  • 很多操作系统把进程再细分为线程;线程有时被称为轻量级进程(Lightweight Process,LWP),是进程内一个相对独立的执行单元。

存储器管理

存储管理的主要功能包括:

  • 内存分配
  • 地址映射
  • 内存扩充
  • 存储保护

设备管理

  • 设备管理是指负责管理各类外围设备,包括分配、启动和故障处理等。
  • 设备管理的任务就是动态地掌握并记录设备的状态、为用户分配及释放设备、提高设备利用率、方便用户有使用设备等。

文件管理

  • 文件管理是对信息资源的管理。操作系统负责管理和存取文件,为用户提供一个简单、统一的访问文件的方法。
    文件管理:
  • 对文件系统进行组织,维护文件目录的结构,实现对文件的各种操作;用户对文件实现按名存取,而不必考虑文件如何保存以及存放的位置;允许对文件规定使用权限,保证数据安全性。
    • 文件结构与组织;
    • 文件目录管理;
    • 文件存取方法;
    • 文件的使用;
    • 文件共享与保护。

作业管理

  • 每个用户请求计算机系统完成的一个独立的操作称为作业(job)。作业由程序、数据和作业说明书3部分组成。
  • 作业管理包括作业的输入和输出,作业的调度与控制。

人机交互和操作界面

人机交互

  • 操作系统是用户和计算机的接口,人机交互功能是决定计算机系统“友善性”的一个重要因素;
  • 人机交互功能主要由输入输出设备和相应的软件来完成,人机交互的主要作用是控制有关设备的运行,理解并执行通过设备传来的有关命令和要求

操作系统的界面形式

  • 交互终端命令:Command line,主要用于分时操作系统,大多由专业人员使用

  • 图形用户界面:GUI-Graphic User Interface,界面友好,操作简单(窗口、标题、菜单、图标、对话框),微型机常见,适合非专业人员使用

  • 作业控制语言:Job Control Language,一般适用于批处理操作系统,大多由系统管理人员使用

  • 系统调用命令:System call,或者API-Application Program Interface-应用程序界面,

操作系统的研究与发展

操作系统的发展

操作系统的演变过程

  • 计算机操作系统的演变可以分为三条发展线索,分别是主机操作系统、服务器操作系统和个人计算机操作系统。

操作系统的发展推动力

  • 操作系统是在人们不断改善计算机系统性能和提高资源利用率的过程中逐步形成和发展而来的。推动操作系统发展的主要动力是“需求推动发展”。
  • 第一,硬件的不断升级与新的硬件产品出现,需要操作系统提供更多、更复杂的支持;
  • 第二,新的服务需求,操作系统为了满足系统管理者和用户需求,需要不断扩大服务范围;
  • 第三,修补操作系统自身的错误,操作系统在运行的过程中其自身的错误也会不断地被发现,因此需要不断地修补操作系统自身的错误(即所谓的“补丁”)。

操作系统的发展趋势

  • 随着计算机不断普及,操作系统的功能会变得越来越复杂。在这种趋势下,操作系统的发展将面临两个方向的选择:
    • 一是向微内核方向发展
    • 二是向大而全的全方位方向发展。

操作系统的研究方法

研究操作系统的观点

  • 软件的观点。
  • 资源管理的观点。
  • 进程的观点。
  • 虚机器观点。
  • 服务提供者观点。

操作系统的结构
在这里插入图片描述

操作系统的层次结构图

  • 驱动程序:管理、控制、监视各类硬件;
  • 内核:各类函数集合,提供基础性、结构性的功能及服务;
  • 接口库:应用程序的编程接口(API);
  • 外围:提供专门高级服务的部件(不是必须的)

操作系统的结构设计

  • 整体式系统结构设计。
  • 层次式系统结构设计。
  • 微内核系统结构设计。

操作系统的启动(补充)

  • 启动操作系统的过程是指将操作系统从外部存储设备装载到内存并开始运行的过程,Windows操作系统的启动过程如下:
    (1)机器加电(或者按下Reset);
    (2)CPU自动运行BIOS的自检程序;
    (3)CPU自动运行BIOS的自检程序,从外部存储设备的引导扇区读出引导程序装入内存;
    (4)CPU运行引导程序,从外部存储设备读出操作系统装入内存;
    (5)CPU运行操作系统。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1379872.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue中使用js-doc

安装依赖 安装vue-template-compiler npm install ​vue-template-compiler​npm install ​vue-template-compiler​ 安装minami npm install minami 安装js-doc npm install js-doc 根目录下创建 .jsdoc.conf.json 内容: {"tags": {"all…

VMware Visio OmniGraffle模板和图标

VMware Visio OmniGraffle模板和图标 包含可用于Visio、omnigraffle的图标和SVG矢量图。 简介 这组资源适用于 IT 管理员、系统架构师、网络工程师和其他需要可视化 VMware 基础架构的专业人士创建精确的 VMware 网络和数据中心部署图,通过使用这些模板和图标&am…

国内开源环境漫谈

我国开源软件产业相较于欧美发达国家而言起步相对较晚,开源项目很少超过五年,开发者较年轻。国外很多开源项目都是10年以上的规划与投入。在开源社区发展初期、发展期、协作期、结晶期与流行期的五个阶段中,中国的开源社区平台大多处于前三个…

RabbitMQ解决消息丢失以及重复消费问题

文章目录 1、概念2、基于ACK/NACK机制2.1 基于Spring AMQP框架整合ACK/NACK机制2.2 测试消费失败1.02.3 测试结果1.02.4 测试MQ宕机2.5 测试结果2.0 3、RabbitMQ 如何实现幂等性设计3.1 幂等服务设计思路3.1.1 通过雪花算法生成分布式唯一ID3.1.2 通过枚举类,设计Me…

亚马逊怎么防止店铺关联?

亚马逊(Amazon)为了确保公平竞争和防止不当行为,采取了一些措施来防止店铺关联,即通过不同的方式将多个店铺相关联,以获取不正当的竞争优势。以下是一些亚马逊防止店铺关联的主要措施: 同一经营者规定&…

【TC3xx芯片】TC3xx芯片电源管理系统PMS详解

目录 前言 正文 1.供电模式选择(Supply Mode Selection) 1.1 供电域 1.2 供电模式 1.3 供电阈值 1.4 供电上升和下降行为Supply Ramp-up and Ramp-down Behavior 1.5 EVRC产生供电 2. 电源监控 2.1 电源监控原理 2.2 Primary低电压监控 2.3 …

轻松掌握构建工具:Webpack、Gulp、Grunt 和 Rollup 的使用技巧(上)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

spring常见漏洞(1)

简介 Spring的英文翻译为春天,可以说是给Java程序员带来了春天,因为它极大的简化了开发。得出一个公式:Spring 春天 Java程序员的春天 简化开发。最后的简化开发正是Spring框架带来的最大好处。 Spring是一个开放源代码的设计层面框架&a…

行为型设计模式——状态模式

状态模式 状态模式是比较简单的设计模式,它的主要作用是减少代码中大量的 if-else 或者 switch-case 等逻辑判断(俗称屎山)。它将每个状态定义为一个类,而每个状态类有自己对应的方法,因此当需要根据状态执行逻辑代码…

AI语音识别模块--whisper模块

1.下载 ffmpeg,挑一个自己电脑系统的版本,下载,如我win64: 地址: Releases BtbN/FFmpeg-Builds GitHub 下载压缩包zip,到本地 解压安装,其实无需安装,只需把对应的目录下的bin&…

采用不同的方式,合并多个文件为一个文件。其中包括:Java方法,Windows脚本,CMD命令

1. 批处理命令 可以实现不同文件的合并,将文件拖入这个命令即可。 echo off setlocal enabledelayedexpansionset "outputFilemerged_output.txt"rem Check if the output file already exists and delete it if exist "%outputFile%" del &qu…

阿尔泰科技——PXIe8912/8914/8916高速数据采集卡

阿尔泰科技PXIe8912/8914/8916高速数据采集卡是2通道同步采样数字化仪,专为输入信号高达 100M 的高频和高动态范围的信号而设计。 与Labview无缝连接,提供图形化API函数。模拟输入范围可以通过软件编程设置为1V 或者5V。配备了容量高达 2GB的板载内存。…

JAVA数组以及小练习

目录 数组的概述和静态初始化 数组的地址值和元素访问 数组的遍历 数组的动态初始化 数组练习 数组的概述和静态初始化 package 数组;public class array1 {public static void main(String[] args){//格式//静态初始化//数据类型 [] 数组名 new 数组类型[]{元素1&#xf…

第8章-第4节-Java中字节流的缓冲流

1、缓冲流:属于高级IO流,并不能直接读写数据,需要依赖于基础流。缓冲流的目的是为了提高文件的读写效率?那么是如何提高文件的读写效率的呢? 在内存中设置一个缓冲区,缓冲区的默认大小是8192字节&#xff…

Vue面试之v-if与v-show的区别

Vue面试之v-if与v-show的区别 DOM渲染初始渲染性能切换开销标签配合源码实现 最近在整理一些前端面试中经常被问到的问题,分为vue相关、react相关、js相关、react相关等等专题,可持续关注后续内容,会不断进行整理~ 作为Vue中两种条件性渲染元…

IaC基础设施即代码:Windows 部署 Terraform

目录 一、实验 1.环境 2.Windows 部署 Terraform 3.VS Code 部署 Terraform插件 二、问题 1.Terraform有哪些功能 2.Chocolatey有何作用 一、实验 1.环境 (1)主机 表1-1 主机 主机系统目标软件工具备注jia Windows 11 Terraform 1.6.6 Power…

推荐两款好用的卫星地图。

问题描述:推荐两款好用的卫星地图。 问题解决:谷歌地球、高德卫星地图。个人感觉谷歌地球好用一些。

inflate流程分析

一.inflate的三参数重载方法else里面逻辑 我们先看到setContentView里面的inflate的调用链: public View inflate(LayoutRes int resource, Nullable ViewGroup root) {return inflate(resource, root, root ! null);}public View inflate(LayoutRes int resource…

吸嘴旋转对位贴合

背景:高精度贴片机需要在上看相机视觉定位芯片,芯片准确的贴合到Lead Frame里面。 问题:已知视觉相机给出的芯片中心位置A1(x1,y1),角度θ1,吸嘴中心的位置A2(x2,y2),需…

【小白专用】C#关于角色权限系统

(C#)用户、角色、权限 https://www.cnblogs.com/huangwen/articles/638050.html 权限管理系统——数据库的设计(一) https://www.cnblogs.com/cmsdn/p/3371576.html 权限管理系统——菜单模块的实现(二) …