当前位置: 首页 > article >正文

网络工程师 (6)操作系统概述

 一、操作系统的定义

(一)基本定义

       操作系统(Operating System,简称OS)是计算机系统中至关重要的基础性系统软件。它是计算机硬件与上层软件之间的桥梁,负责管理和控制整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配。操作系统以提供给用户和其他软件方便的接口和环境为目标,使得用户能够灵活、方便、有效地使用计算机,同时确保整个计算机系统能高效地运行。

(二)用户接口

       操作系统为用户提供了一个友好的、易于操作的界面。这个界面可以是命令行界面(CLI),也可以是图形用户界面(GUI)。用户通过界面与操作系统进行交互,实现各种操作和功能。

(三)类型与分类

       操作系统根据其应用场景和功能特点可以分为多种类型,如服务器操作系统(如Linux、Unix等)、嵌入式操作系统(用于智能家居设备、工业控制设备等)、单用户单任务操作系统、单用户多任务操作系统以及多用户多任务操作系统等。不同类型的操作系统具有不同的特点和适用范围。

(四)实现方式与技术

       操作系统的实现涉及多个关键技术领域,包括中断处理、进程调度、内存管理、文件系统实现等。随着计算机技术的不断发展,操作系统的实现方式也在不断演进。从最初的整体式结构到模块化结构、层次式结构和微内核结构等,操作系统的设计越来越灵活和高效。

(五)重要性与应用

       操作系统是计算机系统中最基本的系统软件之一,它对于计算机系统的稳定性和性能具有至关重要的影响。一个好的操作系统能够提高计算机系统的运行效率、降低故障率,并为用户提供更加便捷和高效的操作体验。同时,操作系统也是软件开发和应用部署的基础平台,为各种应用程序的运行提供了必要的支持和保障。

二、操作系统的功能

(一)进程与处理机管理

  1. 进程控制:主要功能是为作业创建进程、撤销进程以及控制进程在运行过程中的状态转换。
  2. 进程同步:系统需要设置相应的进程同步机制,以实现互斥机制和进程同步。常用的同步机制包括信号量机制等。
  3. 进程通信:进程间需要传递数据,通常采用的是直接通信方式,即由源进程利用发送命令直接将信息挂到目标进程的消息队列上,以后由目标进程利用接收命令从其消息队列中取出消息。
  4. 调度:包括作业调度和进程调度。作业调度负责给作业分配资源,将其建立为进程,并插入到就绪队列中;进程调度则负责将处理机分配给进程,并为其设置运行现场,使其投入执行。

(二)作业管理

       作业管理涉及任务、界面管理、人机交互、图形界面、语音控制和虚拟现实等方面。操作系统通过作业管理,使用户能够方便地提交作业、控制作业的运行,并获取作业的运行结果。

(三)存储管理

  1. 内存分配:操作系统负责为各个用户作业分配内存空间,可以采用静态分配和动态分配两种方式。静态分配方式在作业装入后的整个运行期间不允许该作业再申请新的内存空间,也不允许作业在内存中“移动”;动态分配方式则允许作业在运行期间重新申请新的内存空间。
  2. 内存保护:操作系统需要保证各个应用程序都仅仅在自己的空间中运行,互不干扰,同时防止其他应用程序访问系统的数据和资源。一种简单的内存保护机制是设置两个界限寄存器,分别存放正在执行程序的上界和下界。
  3. 地址映射:操作系统需要借助于硬件将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址。
  4. 内存扩充:操作系统可以通过请求调入功能和置换功能,从逻辑上扩充内存容量。置换功能是指发现内存不够时,可以把内存中不经常使用的数据先调到外存中,把急需的数据先调入内存。

(四)设备管理

  1. 缓冲管理:操作系统通过缓冲管理,可以有效地缓和CPU和I/O设备速度不匹配的矛盾,提高CPU的利用率,进而提高系统吞吐量。
  2. 设备分配:当处理机请求分配设备时,操作系统负责进行设备的分配和回收。
  3. 设备处理:操作系统实现CPU和设备控制器之间的通信,要求完成指定的I/O操作。

(五)文件管理

  1. 文件存储空间的管理:操作系统为每个文件分配必要的外存空间,提高外存的利用率和文件系统的存取速度。
  2. 目录管理:操作系统进行文件目录的管理,并实现高速度的文件索引。
  3. 文件的读/写管理和保护:操作系统使用同一个文件指针实现对文件的读写操作,并保护文件的安全性,防止非法人员对文件进行操作。

 结语  

学会调整心态

以积极态度面对生活

!!!

相关文章:

网络工程师 (6)操作系统概述

一、操作系统的定义 (一)基本定义 操作系统(Operating System,简称OS)是计算机系统中至关重要的基础性系统软件。它是计算机硬件与上层软件之间的桥梁,负责管理和控制整个计算机系统的硬件和软件资源&…...

【2025年数学建模美赛C题】第1-5问F奖解题思路+高级绘图+可运行代码

基于多模型分析的奥运会奖牌预测与影响因素研究 解题思路一、问题重述二、问题分析三、模型假设与符号说明四、数据预处理五、奖牌榜预测5.1 基于LSTM长短期记忆循环神经网络的预测模型的建立5.2 模型预测结果 六、首枚奖牌预测6.1 BP神经网络的建立6.2 模型预测结果 七、各国奖…...

StarRocks 安装部署

StarRocks 安装部署 StarRocks端口: 官方《配置检查》有服务端口详细描述: https://docs.starrocks.io/zh/docs/deployment/environment_configurations/ StarRocks架构:https://docs.starrocks.io/zh/docs/introduction/Architecture/ Sta…...

RoboMaster- RDK X5能量机关实现案例(一)识别

作者:SkyXZ CSDN:https://blog.csdn.net/xiongqi123123 博客园:https://www.cnblogs.com/SkyXZ 在RoboMaster的25赛季,我主要负责了能量机关的视觉方案开发,目前整体算法已经搭建完成,实际方案上我使用的上…...

llama.cpp LLM_ARCH_DEEPSEEK and LLM_ARCH_DEEPSEEK2

llama.cpp LLM_ARCH_DEEPSEEK and LLM_ARCH_DEEPSEEK2 1. LLM_ARCH_DEEPSEEK and LLM_ARCH_DEEPSEEK22. LLM_ARCH_DEEPSEEK and LLM_ARCH_DEEPSEEK23. struct ggml_cgraph * build_deepseek() and struct ggml_cgraph * build_deepseek2()References 不宜吹捧中国大语言模型的同…...

检测到联想鼠标自动调出运行窗口,鼠标自己作为键盘操作

联想鼠标会自动时不时的调用“运行”窗口 然后鼠标自己作为键盘输入 然后打开这个网页 (不是点击了什么鼠标外加按键,这个鼠标除了左右和中间滚轮,没有其他按键了)...

-bash: ./uninstall.command: /bin/sh^M: 坏的解释器: 没有那个文件或目录

终端报错: -bash: ./uninstall.command: /bin/sh^M: 坏的解释器: 没有那个文件或目录原因:由于文件行尾符不匹配导致的。当脚本文件在Windows环境中创建或编辑后,行尾符为CRLF(即回车和换行,\r\n)&#xf…...

15天基础内容总复习

总复习 一.day01内容 1.JVM,JRE,JDK的关系 JVM: java虚拟机,用来运行java程序的,JVM本身是不夸平台的,每个操作系统都需要安装针对本操作系统的JVM所以: java通过jvm的不夸平台实现了java的跨平台JRE:java运行环境,包含jvm和核心类库JDK:java开发工具包,包含开发工具和JRE三…...

星火大模型接入及文本生成HTTP流式、非流式接口(JAVA)

文章目录 一、接入星火大模型二、基于JAVA实现HTTP非流式接口1.配置2.接口实现(1)分析接口请求(2)代码实现 3.功能测试(1)测试对话功能(2)测试记住上下文功能 三、基于JAVA实现HTTP流…...

如何将电脑桌面默认的C盘设置到D盘?详细操作步骤!

将电脑桌面默认的C盘设置到D盘的详细操作步骤! 本博文介绍如何将电脑桌面(默认为C盘)设置在D盘下。 首先,在D盘建立文件夹Desktop,完整的路径为D:\Desktop。winR,输入Regedit命令。(或者单击【…...

toRow和markRow的用法以及使用场景

Vue3 Raw API 完整指南 1. toRaw vs markRaw 1.1 基本概念 toRaw: 返回响应式对象的原始对象,用于临时获取原始数据结构,标记过后将会失去响应式markRaw: 标记一个对象永远不会转换为响应式对象,返回对象本身 1.2 使用对比 // toRaw 示例…...

Java中ExecutorService接口介绍、应用场景和示例代码

概述 ExecutorService 是 Java 中用于管理线程池的接口,它属于 java.util.concurrent 包。它提供了用于管理并发任务的功能,包括任务的提交、执行和线程池的生命周期管理。以下是对 ExecutorService 的详细讲解、应用场景和示例代码。 1. 详细讲解 1.…...

java 判断Date是上午还是下午

我要用Java生成表格统计信息,如下图所示: 所以就诞生了本文的内容。 在 Java 里,判断 Date 对象代表的时间是上午还是下午有多种方式,下面为你详细介绍不同的实现方法。 方式一:使用 java.util.Calendar Calendar 类…...

开源 CSS 框架 Tailwind CSS v4.0

开源 CSS 框架 Tailwind CSS v4.0 于 1 月 22 日正式发布,除了显著提升性能、简化配置体验外,还增强了功能特性,具体如下1: 性能提升 采用全新的高性能引擎 Oxide,带来了构建速度的巨大飞跃: 全量构建速度…...

微信小程序中实现进入页面时数字跳动效果(自定义animate-numbers组件)

微信小程序中实现进入页面时数字跳动效果 1. 组件定义,新建animate-numbers组件1.1 index.js1.2 wxml1.3 wxss 2. 使用组件 1. 组件定义,新建animate-numbers组件 1.1 index.js // components/animate-numbers/index.js Component({properties: {number: {type: Number,value…...

Kafka生产者ACK参数与同步复制

目录 生产者的ACK参数 ack等于0 ack等于1(默认) ack等于-1或all Kafka的同步复制 使用误区 生产者的ACK参数 Kafka的ack机制可以保证生产者发送的消息被broker接收成功。 Kafka producer有三种ack机制 ,分别是 0,1&#xf…...

C语言------数组从入门到精通

1.一维数组 目标:通过思维导图了解学习一维数组的核心知识点: 1.1定义 使用 类型名 数组名[数组长度]; 定义数组。 // 示例: int arr[5]; 1.2一维数组初始化 数组的初始化可以分为静态初始化和动态初始化两种方式。 它们的主要区别在于初始化的时机和内存分配的方…...

FLTK - FLTK1.4.1 - 搭建模板,将FLTK自带的实现搬过来做实验

文章目录 FLTK - FLTK1.4.1 - 搭建模板,将FLTK自带的实现搬过来做实验概述笔记my_fltk_test.cppfltk_test.hfltk_test.cxx用adjuster工程试了一下,好使。END FLTK - FLTK1.4.1 - 搭建模板,将FLTK自带的实现搬过来做实验 概述 用fluid搭建UI…...

postgres基准测试工具pgbench如何使用自定义的表结构和自定义sql

使用 pgbench 进行 PostgreSQL 性能测试时,可以自定义表结构和测试脚本来更好地模拟实际使用场景。以下是一个示例,说明如何自定义表结构和测试脚本。 自定义表结构 创建自定义表结构的 SQL 脚本。例如,创建一个名为 custom_schema.sql 的文…...

开发者交流平台项目部署到阿里云服务器教程

本文使用PuTTY软件在本地Windows系统远程控制Linux服务器;其中,Windows系统为Windows 10专业版,Linux系统为CentOS 7.6 64位。 1.工具软件的准备 maven:https://archive.apache.org/dist/maven/maven-3/3.6.1/binaries/apache-m…...

Seed Edge- AGI(人工智能通用智能)长期研究计划

Seed Edge 是字节跳动豆包大模型团队推出的 AGI(人工智能通用智能)长期研究计划12。以下是对它的具体介绍1: 名称含义 “Seed” 即豆包大模型团队名称,“Edge” 代表最前沿的 AGI 探索,整体意味着该项目将在 AGI 领域…...

DeepSeek学术写作测评第二弹:数据分析、图表解读,效果怎么样?

我是娜姐 迪娜学姐 ,一个SCI医学期刊编辑,探索用AI工具提效论文写作和发表。 针对最近全球热议的DeepSeek开源大模型,娜姐昨天分析了关于论文润色、中译英的详细效果测评: DeepSeek学术写作测评第一弹:论文润色&#…...

从单体应用到微服务的迁移过程

目录 1. 理解单体应用与微服务架构2. 微服务架构的优势3. 迁移的步骤步骤 1:评估当前单体应用步骤 2:确定服务边界步骤 3:逐步拆分单体应用步骤 4:微服务的基础设施和工具步骤 5:管理和优化微服务步骤 6:逐…...

Direct2D 极速教程(2) —— 画淳平

极速导航 创建新项目:002-DrawJunpeiWIC 是什么用 WIC 加载图片画淳平 创建新项目:002-DrawJunpei 右键解决方案 -> 添加 -> 新建项目 选择"空项目",项目名称为 “002-DrawJunpei”,然后按"创建" 将 “…...

Lustre Core 语法 - 比较表达式

概述 Lustre v6 中的 Lustre Core 部分支持的表达式种类中&#xff0c;支持比较表达式。相关的表达式包括 , <>, <, >, <, >。 相应的文法定义为 Expression :: Expression Expression | Expression <> Expression | Expression < Expression |…...

C# 中 [MethodImpl(MethodImplOptions.Synchronized)] 的使用详解

总目录 前言 在C#中&#xff0c;[MethodImpl(MethodImplOptions.Synchronized)] 是一个特性&#xff08;attribute&#xff09;&#xff0c;用于标记方法&#xff0c;使其在执行时自动获得锁。这类似于Java中的 synchronized 关键字&#xff0c;确保同一时刻只有一个线程可以执…...

在win11系统笔记本中使用Ollama部署deepseek制作一个本地AI小助手!原来如此简单!!!

大家新年好啊&#xff0c;明天就是蛇年啦&#xff0c;蛇年快乐&#xff01; 最近DeepSeek真的太火了&#xff0c;我也跟随B站&#xff0c;使用Ollama在一台Win11系统的笔记本电脑部署了DeepSeek。由于我的云服务器性能很差&#xff0c;虽然笔记本的性能也一般&#xff0c;但是…...

03.01、三合一

03.01、[简单] 三合一 1、题目描述 三合一。描述如何只用一个数组来实现三个栈。 你应该实现push(stackNum, value)、pop(stackNum)、isEmpty(stackNum)、peek(stackNum)方法。stackNum表示栈下标&#xff0c;value表示压入的值。 构造函数会传入一个stackSize参数&#xf…...

【Super Tilemap Editor使用详解】(十五):从 TMX 文件导入地图(Importing from TMX files)

Super Tilemap Editor 支持从 TMX 文件(Tiled Map Editor 的文件格式)导入图块地图。通过导入 TMX 文件,你可以将 Tiled 中设计的地图快速转换为 Unity 中的图块地图,并自动创建图块地图组(Tilemap Group)。以下是详细的导入步骤和准备工作。 一、导入前的准备工作 在导…...

在FreeBSD下安装Ollama并体验DeepSeek r1大模型

在FreeBSD下安装Ollama并体验DeepSeek r1大模型 在FreeBSD下安装Ollama 直接使用pkg安装即可&#xff1a; sudo pkg install ollama 安装完成后&#xff0c;提示&#xff1a; You installed ollama: the AI model runner. To run ollama, plese open 2 terminals. 1. In t…...