计算机操作系统|操作系统引论

2024-02-24 14:18

本文主要是介绍计算机操作系统|操作系统引论,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

​ 

操作系统(Operating System,OS)

  • 一组程序的集合,控制和管理计算机硬件和软件资源

  • 计算机硬件上的第一层软件,是对硬件系统的首次扩充

  • 计算机中最基本和最重要的系统软件,是其他系统软件和应用软件运行的基础

目标和作用 

操作系统的目标

  • 方便性:使计算机系统更易使用

  • 有效性:提高资源利用率和系统吞吐量

  • 可扩充性:方便对模块和功能的扩充、修改

  • 开放性:遵循世界标准规范,方便兼容、互联

操作系统的作用

  • 作为用户与计算机硬件系统间的接口:命令,系统(功能)调用,图形化接口(图标-窗口)

  • 作为计算机资源的管理者:处理机的分配和控制,(存储器)内存的分配和回收,I/O设备的分配和操纵,文件(数据和程序)的读取、共享和保护

  • 实现了对计算机资源的抽象:在裸机上铺设了多层软件,增强了系统的功能,隐藏了对硬件操作的细节

发展

操作系统的发展过程

  • 无操作系统的计算机系统:人工操作方式,脱机输入/输出(Off-Line I/O)方式

  • 单道批处理系统(Simple Batch Processing System)

  • 多道批处理系统(Multiprogrammed Batch Processing System)

  • 分时系统(Time Sharing System):人机交互,共享主机

  • 实时系统(Real Time System):Solaris,Linux;Unix(大中小型机:多用户多任务)

人工操作方式的缺点

  • 用户占用全机

  • CPU等待人工操作

脱机I/O方式的优点

  • 减少了CPU的空闲时间

  • 提高了I/O速度

单道批处理系统的缺点

  • 系统中的资源得不到充分的利用

多道批处理系统的优缺点

  • 资源利用率高

  • 系统吞吐量

  • 平均周转时间长

  • 无交互能力

多道批处理系统需要解决的问题

  • 处理机争用问题

  • 内存分配和保护问题

  • I/O设备分配问题

  • 文件的组织和管理问题

  • 作业管理问题

  • 用户与系统的接口问题

分时系统实现中的关键问题

  • 及时接收

  • 及时处理(作业直接进入内存,采用轮转运行方式)

分时系统的特征(与多道批处理系统相比)

  • 多路性

  • 独立性

  • 及时性

  • 交互性

实时系统的类型

  • 工业(武器)控制系统

  • 信息检查系统

  • 多媒体系统

  • 嵌入式系统

实时任务的类型

  • 周期性vs非周期性

  • 硬实时vs软实时

实时系统vs分时系统

  • 多路性

  • 独立性

  • 及时性

  • 交互性

  • 可靠性

微机操作系统的发展

  • 单用户单任务

  • 单用户多任务

  • 多用户多任务(Unix-Solaris/Linux)

操作系统发展的主要动力

  • 不断提高计算机资源利用率

  • 方便用户

  • 器件的不断更新换代

  • 计算机体系结构的不断发展

  • 不断提出新的应用需求

基本特性和功能

操作系统的基本特性

  • 并发性:并行vs并发,进程

  • 共享性:互斥共享,“同时”访问

  • 虚拟性:虚拟技术,时分复用(处理机,设备),空分复用(存储器)

  • 异步性:多道程序中每个程序的执行速度未可知,但执行结果相同

操作系统的功能

  • 处理机管理:进程控制,进程同步,进程通信,调度(作业/进程)

  • 存储器管理:内存分配(静态/动态),内存保护,地址映射,内存扩充(调入/置换)

  • 设备管理:缓冲管理,设备分配,设备处理

  • 文件管理:文件存储空间的管理,目录管理,文件的读/写管理和保护

  • 友好的用户接口:用户接口(联机/脱机/图形),程序接口

现代操作系统的新功能

  • 系统安全:认证技术,密码技术,访问控制技术,反病毒技术

  • 网络的功能和服务:网络通信,资源管理,应用互操作

  • 支持多媒体:接纳控制,实时调度,多媒体文件的存储

结构设计

操作系统的结构设计

  • 无结构:整体系统结构,一组过程的集合,每个过程可以任意地相互调用其他过程

  • 模块化结构:按功能划分为若干个具有一定独立性和大小的模块

  • 分层式结构:按功能流图的调用次序划分为若干个层次,每一层只能调用较低层,自底向上或自顶向下添加软件

  • 微内核结构:以模块化、层次化结构为基础,采用客户/服务器模式(Client/Server Mode)和面向对象的程序设计技术,支持分布式系统

模块独立性的两个标准

  • 内聚性

  • 耦合度

模块接口法的优缺点

  • 提高OS设计的正确性

  • 可理解性和可维护性

  • 增强OS的可适应性

  • 加速OS的开发过程

模块化结构设计存在的问题

  • 设计的接口规定很难满足实际需求

  • 各模块同时设计,各种决定具有“无序性”,又叫“无序模块法”

  • 分层设计的优缺点

  • 易保证系统的正确性

  • 易扩充和易维护性

客户/服务器模式的组成

  • 客户机

  • 服务器

  • 网路系统

客户/服务器模式的交互过程

  • 客户发送请求消息

  • 服务器接收消息

  • 服务器回送消息

  • 客户机接收消息

客户/服务器模式的优点

  • 数据的分布处理和存储

  • 便于集中管理

  • 灵活性和可扩充性

  • 易于改编应用软件

面向对象技术的优点

  • 通过“重用”提高产品质量和生产率

  • 使系统具有更好的易修改性和易扩展性

  • 更易于保证系统的“正确性”和“可靠性”

微内核操作系统

  • 足够小的内核

  • 基于客户/服务器模式

  • 应用“机制与策略分离”原理

  • 采用面向对象技术

微内核操作系统的基本功能

  • 进程(线程)管理

  • 低级存储器管理

  • 中断和陷入处理

微内核操作系统的优点

  • 提高了系统的可扩展性

  • 增强了系统的可靠性

  • 可移植性强

  • 提供了对分布式系统的支持

  • 融入了面向对象技术

传统操作系统vs微内核操作系统

传统操作系统两次上下文切换

  • 一次是在执行系统调用后由用户态转向系统态时

  • 另一次是在系统完成用户请求的服务后,由系统态返回用户态时

微内核操作系统四次上下文切换:

  • 第一次发生在客户发送请求消息给内核,以请求取得某服务器特定的服务时

  • 第二次发生在由内核把客户的请求消息发往服务器时

  • 第三次是当服务器完成客户请求后,把相应消息发送到内核时

  • 第四次是在内核将相应消息发送给客户时

 

这篇关于计算机操作系统|操作系统引论的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/742375

相关文章

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

Linux操作系统 初识

在认识操作系统之前,我们首先来了解一下计算机的发展: 计算机的发展 世界上第一台计算机名叫埃尼阿克,诞生在1945年2月14日,用于军事用途。 后来因为计算机的优势和潜力巨大,计算机开始飞速发展,并产生了一个当时一直有效的定律:摩尔定律--当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍。 那么相应的,计算机就会变得越来越快,越来越小型化。

计算机视觉工程师所需的基本技能

一、编程技能 熟练掌握编程语言 Python:在计算机视觉领域广泛应用,有丰富的库如 OpenCV、TensorFlow、PyTorch 等,方便进行算法实现和模型开发。 C++:运行效率高,适用于对性能要求严格的计算机视觉应用。 数据结构与算法 掌握常见的数据结构(如数组、链表、栈、队列、树、图等)和算法(如排序、搜索、动态规划等),能够优化代码性能,提高算法效率。 二、数学基础

java计算机毕设课设—停车管理信息系统(附源码、文章、相关截图、部署视频)

这是什么系统? 资源获取方式在最下方 java计算机毕设课设—停车管理信息系统(附源码、文章、相关截图、部署视频) 停车管理信息系统是为了提升停车场的运营效率和管理水平而设计的综合性平台。系统涵盖用户信息管理、车位管理、收费管理、违规车辆处理等多个功能模块,旨在实现对停车场资源的高效配置和实时监控。此外,系统还提供了资讯管理和统计查询功能,帮助管理者及时发布信息并进行数据分析,为停车场的科学

《计算机视觉工程师养成计划》 ·数字图像处理·数字图像处理特征·概述~

1 定义         从哲学角度看:特征是从事物当中抽象出来用于区别其他类别事物的属性集合,图像特征则是从图像中抽取出来用于区别其他类别图像的属性集合。         从获取方式看:图像特征是通过对图像进行测量或借助算法计算得到的一组表达特性集合的向量。 2 认识         有些特征是视觉直观感受到的自然特征,例如亮度、边缘轮廓、纹理、色彩等。         有些特征需要通

【python计算机视觉编程——7.图像搜索】

python计算机视觉编程——7.图像搜索 7.图像搜索7.1 基于内容的图像检索(CBIR)从文本挖掘中获取灵感——矢量空间模型(BOW表示模型)7.2 视觉单词**思想****特征提取**: 创建词汇7.3 图像索引7.3.1 建立数据库7.3.2 添加图像 7.4 在数据库中搜索图像7.4.1 利用索引获取获选图像7.4.2 用一幅图像进行查询7.4.3 确定对比基准并绘制结果 7.

【python计算机视觉编程——8.图像内容分类】

python计算机视觉编程——8.图像内容分类 8.图像内容分类8.1 K邻近分类法(KNN)8.1.1 一个简单的二维示例8.1.2 用稠密SIFT作为图像特征8.1.3 图像分类:手势识别 8.2贝叶斯分类器用PCA降维 8.3 支持向量机8.3.2 再论手势识别 8.4 光学字符识别8.4.2 选取特征8.4.3 多类支持向量机8.4.4 提取单元格并识别字符8.4.5 图像校正

Python计算机视觉编程 第十章

目录 一、OpenCv基础知识 1.读取和写入图像 2.颜色空间 3.显示图像和结果 二、处理视频 1.输入视频 2.将视频读取到NumPy数组中 三、跟踪 1.光流 2.Lucas-Kanade算法 一、OpenCv基础知识 OpenCV 自带读取、写入图像函数以及矩阵操作和数学库。 1.读取和写入图像 import cv2# 读取图像im = c

1、简述linux操作系统启动流程

1、简述linux操作系统启动流程 启动第一步--加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它。这是因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等。开机时将ROM中的指令映射到RAM的低地址空间,CPU读取到这些指令,硬件的健康状况进行检查,按照BIOS中设置的启

2025届计算机毕业设计:如何构建Java SpringBoot+Vue个人健康档案管理系统?

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 | SpringBoot/SSM Python实战项目 | Django 微信小程序/安卓实战项目 大数据实战项目 ⚡⚡文末获取源码 文章目录