【计算机四级(网络工程师)笔记】操作系统概论
目录
一、OS的概念
1.1OS的定义
1.2OS的特征
1.2.1并发性
1.2.2共享性
1.2.3随机性
1.3研究OS的观点
1.3.1软件的观点
1.3.2资源管理器的观点
1.3.3进程的观点
1.3.4虚拟机的观点
1.3.5服务提供者的观点
二、OS的分类
2.1批处理操作系统
2.2分时操作系统
2.3实时操作系统
2.4嵌入式操作系统
2.5分布式操作系统
2.6个人操作系统
2.7网络操作系统
三、OS的结构
3.1整体式结构
3.2层次结构
3.3微内核(客户机/服务器)结构
🌈嗨!我是Filotimo__🌈。很高兴与大家相识,希望我的博客能对你有所帮助。
💡本文由Filotimo__✍️原创,首发于CSDN📚。
📣如需转载,请事先与我联系以获得授权⚠️。
🎁欢迎大家给我点赞👍、收藏⭐️,并在留言区📝与我互动,这些都是我前进的动力!
🌟我的格言:森林草木都有自己认为对的角度🌟。
操作系统简称OS。
操作系统有:Ubuntu,Windows,UNIX,Linux,BSD,DOS等。
操作系统管理的系统资源有:主存储器,I/O控制器,文件,键盘,鼠标,调度程序代码,PCB表,I/O设备,磁盘,时钟,CPU,打印机,网卡,系统注册表等。
一、OS的概念
1.1OS的定义
(1)计算机应用的角度:OS是一个系统软件(位于软件系统的硬件之上和支撑软件之下的层面,集中了资源管理功能和控制程序执行功能),提供人机交互接口(向开发人员提供高效的编程接口)。
(2)软件设计和开发的角度:OS提供软件开发基础平台。
(3)计算机安全保护的角度:OS提供第一道安全防线。
(4)计算机系统发展的角度:OS提供虚拟机和扩展机。
1.2OS的特征
操作系统的特征:并发性,共享性,随机性。
1.2.1并发性
在单处理器环境下,两个程序交替在CPU上运行。
在同一台打印机上,两个进程请求打印输出。
在多处理器上,一个进程运行除法运算,另一个进程打印输出。
在多处理器上,一个进程运行除法运算,其它处理器空闲。
1.2.2共享性
共享性分为互斥共享和同时共享。
(1)互斥共享:中央处理器,存储器,打印机,磁带机,扫描仪。
(2)同时共享:内存储器,可重入代码,硬盘驱动器。
1.2.3随机性
OS系统内核进行进程切换。
1.3研究OS的观点
1.3.1软件的观点
1.3.2资源管理器的观点
OS中建立了用于记录各种软硬件资源信息的数据结构(和表格),用于了解用户需求和当前资源使用情况,对资源进行有效组织和管理,这些数据结构在OS中由系统动态更新。
操作系统的主要功能包括进程管理,存储管理,文件管理,设备管理和用户接口。
存储管理的范畴有:
(1)完成虚拟地址到物理地址的转换。
(2)管理内存分配表。
(3)检查进程地址空间是否出现地址越界问题。
(4)将磁盘上的代码调入内存。
(5)内存扩充。
文件管理的范畴有:
(1)管理磁盘空间。
(2)磁盘碎片整理。
(3)建立文件目录。
(4)设置文件的存取权限。
设备管理和用户接口的范畴有:
(1)为用户程序提供系统调用接口。
(2)提供缓冲技术。
(3)管理通道,网卡等相关的数据结构。
(4)提供虚设备技术。
1.3.3进程的观点
1.3.4虚拟机的观点
1.3.5服务提供者的观点
OS是用户与计算机系统之间的接口,提供给用户的接口是命令输入和系统调用。
二、OS的分类
根据操作系统在用户界面的使用环境和功能特征的不同,操作系统分为:批处理操作系统,分时操作系统,实时操作系统,嵌入式操作系统,分布式操作系统,个人操作系统,网络操作系统。
2.1批处理操作系统
优点:批量处理用户作业,系统资源利用率高,作业吞吐率高。
缺点:缺少交互性。
2.2分时操作系统
目标是及时响应用户输入的交互命令(用户直接干预操作每一步的进行,适用于调试程序)。
特点:
(1)多路性:多个用户在线同时使用计算机。
(2)交互性:用户根据系统响应的结果提出下一个请求,便于调试程序。
(3)独占性:用户使用计算机时感觉不到计算机同时在为别人服务。
(4)及时性:系统能对用户输入的信息及时响应。
2.3实时操作系统
目标是在严格时间范围内对外部请求做出反应。
特点:
(1)具有较高的可靠性。
(2)在严格的时间范围内,实时响应用户的请求。
(3)具有较好的过载防护能力。
2.4嵌入式操作系统
2.5分布式操作系统
特点:
(1)系统内所有主机使用同一个操作系统。
(2)系统内资源深度共享。
(3)用户无需了解系统内本地主机或异地主机的差异,具有透明性。
(4)系统内各主机处于同等地位,不分主次。
(5)系统具有较高的可靠性。
2.6个人操作系统
2.7网络操作系统
三、OS的结构
3.1整体式结构
优点:结构紧密,系统效率高。
缺点:缺乏独立性,并发性差。
3.2层次结构
优点:把整体问题局部化。
缺点:模块功能单一,系统规模较大。
3.3微内核(客户机/服务器)结构
优点:高可靠性,高灵活性,适合分布式处理。
相关文章:

【计算机四级(网络工程师)笔记】操作系统概论
目录 一、OS的概念 1.1OS的定义 1.2OS的特征 1.2.1并发性 1.2.2共享性 1.2.3随机性 1.3研究OS的观点 1.3.1软件的观点 1.3.2资源管理器的观点 1.3.3进程的观点 1.3.4虚拟机的观点 1.3.5服务提供者的观点 二、OS的分类 2.1批处理操作系统 2.2分时操作系统 2.3实时操作系统 2.4嵌…...
LeetCode算法练习top100:(10)贪心算法
package top100.贪心算法;import java.util.ArrayList; import java.util.List;public class TOP {//121. 买卖股票的最佳时机public int maxProfit(int[] prices) {int res 0, min prices[0];for (int i 1; i < prices.length; i) {if (prices[i] < min) {min price…...
随记-探究 OpenApi 的加密方式
open api 主要参数如下 appKey 接口Key(app id)appSecret 接口密钥timeStamp 时间戳 毫秒nonceStr 随机字符串signature 加密字符串 客户端 使用 appSecret 按照一定规则将 appKey timeStamp nonceStr 进行加密,得到密文 signature将 appK…...

stm32学习总结:4、Proteus8+STM32CubeMX+MDK仿真串口收发
stm32学习总结:4、Proteus8STM32CubeMXMDK仿真串口收发 文章目录 stm32学习总结:4、Proteus8STM32CubeMXMDK仿真串口收发一、前言二、资料收集三、STM32CubeMX配置串口1、配置开启USART12、设置usart中断优先级3、配置外设独立生成.c和.h 四、MDK串口收发…...
配置paddleocr及paddlepaddle解决报错 GLIBCXX_3.4.30 FreeTypeFont
配置 https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.7/StyleText/README_ch.md#style-text 环境配置 https://www.paddlepaddle.org.cn/ 根据自己的cuda版本选择paddlepaddle-gpu # 新建conda环境 # python version conda create -n paddle python3.8 # 安装p…...

【实战】如何在Docker Image中轻松运行MySQL
定义 使用Docker运行MySQL有许多优势。它允许数据库程序和数据分离,增强了数据的安全性和可靠性。Docker Image的轻便性简化了MySQL的部署和迁移,而Docker的资源隔离功能确保了应用程序之间无冲突。结合中间件和容器化系统,Docker为MySQL提供…...

PLC物联网,实现工厂设备数据采集
随着工业4.0时代的到来,物联网技术在工厂设备管理领域的应用日益普及。作为物联网技术的重要一环,PLC物联网为工厂设备数据采集带来了前所未有的便捷和高效。本文将围绕“PLC物联网,实现工厂设备数据采集”这一主题,探讨PLC物联网…...

npm安装依赖报错ERESOLVE unable to resolve dependency tree(我是在taro项目中)(node、npm 版本问题)
换了电脑之后新电脑安装包出错 👇👇👇 npm install 安装包报错 ERESOLVE unable to resolve dependency tree 百度后尝试使用 npm install --force 还是报错 参考 有人说是 node 版本和 npm 版本的问题 参考 新电脑 node版本:16.1…...

Maven仓库上传jar和mvn命令汇总
目录 导入远程仓库 命令结构 命令解释 项目pom 输入执行 本地仓库导入 命令格式 命令解释 Maven命令汇总 mvn 参数 mvn常用命令 web项目相关命令 导入远程仓库 命令结构 mvn deploy:deploy-file -Dfilejar包完整名称 -DgroupIdpom文件中引用的groupId名 -Dartifa…...

Jenkins 执行远程脚本的插件—SSH2 Easy
SSH2 Easy 是什么? SSH2 Easy 是一个 Jenkins 插件,它用于在 Jenkins 构建过程中通过 SSH2 协议与远程服务器进行交互。通过该插件,用户可以在 Jenkins 的构建过程中执行远程命令、上传或下载文件、管理远程服务器等操作。 以下是 SSH2 Eas…...

Starting the Docker Engine...一直转圈
出现的问题: 原因排查: 看了网上的很多篇文章,每个原因都排查了,没有发现问题。 遇到这样的情况应先看自己是否安装成功 打开运行,在空框中输入powershell并点击确定: docker version 显示版本证明安装…...

关于Python里xlwings库对Excel表格的操作(十五)
这篇小笔记主要记录如何【获取单元格数据的对齐方式或更改单元格数据的对齐方式】。 前面的小笔记已整理成目录,可点链接去目录寻找所需更方便。 【目录部分内容如下】【点击此处可进入目录】 (1)如何安装导入xlwings库; …...

[Linux] LVS+Keepalived高可用集群部署
一、Keepalived实现原理 1.1 高可用方案 Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以解决静态路由出现的单点故障问题。 在一个LVS服务集群中通常有主服务器(MASTER)和备份服务器(BACKUP)两种角色…...
【版本管理】git stash用法
应用场景 我们在开发过程中可能会遇到这样的情况: 想从A分支切换到B分支,但A分支尚未改完,暂时不想提交代码 此时可以在切换到B分支前,先通过stash指令来缓存本地改动,等切回A分支时,再通过stash还原改动…...
声明式的理解【gpt】
一 MyBatis采用了声明式语法来进行SQL映射配置【mybatis声明式】 MyBatis是一款优秀的持久层框架,支持自定义SQL、存储过程以及高级映射,使得开发人员能够专注于SQL本身而不是数据库访问。MyBatis提供了两种配置方式:XML配置和注解配置&…...
提高Spring Boot技能的9种方法
以下是提高 Spring Boot 技能的 9 种方法: 1. 外部化您的配置: 充分利用 Spring Boot 潜力的另一种方法是尽可能地尝试外部化您的配置,而不是对其进行硬编码。外部化您的配置将使您的应用程序更加灵活且更易于管理。 外部化配置的另一个优点…...
HIVE基本操作
1、启动远程服务端:hive --service metastore启动(这里是阻塞式),然后在客户端操作 2、Hive DDL(数据库定义语言) --展示所有数据库show databases; --切换数据库use database_name; 3、创建语法&#x…...

【经典LeetCode算法题目专栏分类】【第5期】贪心算法:分发饼干、跳跃游戏、模拟行走机器人
《博主简介》 小伙伴们好,我是阿旭。专注于人工智能AI、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 分发饼干 class Solutio…...
【大数据面试】MapReduce常见问题与答案
目录 介绍下MapReduce MapReduce优缺点 MapReduce架构 MapReduce工作原理 MapReduce哪个阶段最费时间 ✅MapReduce中的Combine是干嘛的?有什么好出? ✅MapReduce环形缓冲区是什么 ✅MapReduce为什么一定要有环型缓冲区 MapReduce为什么一定要有Shuffle过程 MapRedu…...
数组深入学习感悟
注:本文学习借鉴于《代码随想录》 一.介绍数组 数组是储存在连续内存空间中的相同类型数据的集合 数组名的理解: 数组名就是数组⾸元素(第⼀个元素)的地址是对的,但是有两个例外: sizeof(数组名),sizeof中单独放数…...

大数据学习栈记——Neo4j的安装与使用
本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...

vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...

基于 TAPD 进行项目管理
起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…...

七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...

【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...

《Docker》架构
文章目录 架构模式单机架构应用数据分离架构应用服务器集群架构读写分离/主从分离架构冷热分离架构垂直分库架构微服务架构容器编排架构什么是容器,docker,镜像,k8s 架构模式 单机架构 单机架构其实就是应用服务器和单机服务器都部署在同一…...
全面解析数据库:从基础概念到前沿应用
在数字化时代,数据已成为企业和社会发展的核心资产,而数据库作为存储、管理和处理数据的关键工具,在各个领域发挥着举足轻重的作用。从电商平台的商品信息管理,到社交网络的用户数据存储,再到金融行业的交易记录处理&a…...