【操作系统架构原理】资源管理技术与进程的抽象设计思想
热爱计算机科学和互联网技术,掌握扎实的计算机基础知识,深入理解数据结构、算法和操作系统知识。
操作系统定义
定义:
操作系统(Operating System,OS)尚无严格的定义。
例如:
1.OS是管理系统资源、控制程序执行、改善人机界面、提供各种服务,并合理组织计算机工作流程和为用户方便有效地使用计算机提供良好的运行环境的一种软件系统。
2.OS是一个系统程序集合,管理和控制计算机的所有软件和硬件资源,合理地组织计算机工作流程,以便有效地利用系统资源,为用户提供一个功能强大、使用方便的工作环境。
操作系统是一管理电脑硬件与软件资源的程序,同时也是计算机系统的内核与基石。操作系统是一个庞大的管理控制程序,大致包括5个方面的管理功能:
进程与处理机管理、作业管理、存储管理、设备管理、文件管理。
以现代观点而言,标准个人电脑OS应提供以下功能:
进程管理(Processing management) ;
记忆空间管理(Memory management) ;
文件系统(File system) ;
网络通讯;
安全机制(Security) ;
GUI使用者界面 ;
驱动程序。
目前常见的操作系统有 MacOS、DOS、OS/2、UNIX、XENIX、LINUX、Windows、Netware、Android、HongMeng、iOS 、Chrome OS 等。
Android 系统架构分层
核心功能:
a. 服务用户。操作系统作为用户接口和公共服务程序。
b. 进程交互。操作系统作为进程执行的控制者和协调者。
c. 系统实现。操作系统作为扩展机或虚拟机。
d. 资源管理。操作系统作为资源的管理者和控制者。
资源管理解决的核心问题
资源管理解决物理资源数量不足和合理分配资源这两个问题。
操作系统虚拟机为用户提供了一种简单、清晰、易用、高效的计算机模型。虚拟机的每种资源都是物理资源通过复用、虚拟和抽象而得到的产物。
存储管理的基本功能:存储分配,地址映射,存储保护,存储共享,存储扩充。
虚拟机提供进程运行的逻辑计算环境。
一个进程就是一台虚拟机,一台虚拟机就是一个进程。
复用:空分复用共享和时分复用共享。
a. 空分复用共享(space-multiplexed sharing): 将资源从“空间”上分割成更小的单位供不同进程使用。在计算机系统中,内存和外存(磁盘)等是空分复用共享的。
b. 时分复用共享(time-multiplexed sharing): 将资源从“时间”上分割成更小的单位供不同进程使用。在计算机系统中,处理器和磁盘机等是时分复用共享的。
虚拟
虚拟:对资源进行转化、模拟或整合,把一个物理资源转变成多个逻辑上的对应物,也可以把多个物理资源变成单个逻辑上的对应物,即创建无须共享独占资源的假象,或创建易用且多于实际物理资源的虚拟资源假象,以达到多用户共享一套计算机物理资源的目的。虚拟技术可用于外部设备(外部设备同时联机操作(SPOOLing)),存储资源(虚拟内存)和文件系统(虚拟文件系统(Virtual File System, VFS))中。
复用和虚拟相比较,复用所分割的是实际存在的物理资源,而虚拟则实现假想的同类资源。
虚拟技术解决某类物理资源不足的问题,提供易用的虚拟资源和更好的运行环境。
抽象
抽象:通过创建软件来屏蔽硬件资源的物理特性和实现细节,简化对硬件资源的操作、控制和使用。
复用和虚拟的主要目标是解决物理资源数量不足的问题。
抽象则用于处理系统复杂性,重点解决资源易用性。
核心抽象模型:进程
进程控制块(Process Control Block, PCB):进程存在的唯一标识,操作系统掌握进程的唯一资料结构和管理进程的主要依据。包括标识信息、现场信息和控制信息等信息。
程序和数据刻画进程的静态特征。
进程控制块刻画进程的动态特征。
进程队列(process queue):处于同一状态的所有进程的PCB链接在一起的数据结构。有两种队列组织方式:链接方式和索引方式。
进程映像(process image) 包括进程控制块、进程程序块、进程核心块、进程数据块等要素。
进程切换在内核态发生。
进程可以分为两部分,资源集合和线程集合。进程要支撑线程运行,为线程提供虚拟地址空间和各种资源。进程封装管理信息,线程封装执行信息。
共享资源的数据结构:管程(monitor)
管程(monitor):代表共享资源的数据结构及并发进程在其上执行的一组构成就构成管程,管程被请求和释放资源的进程锁调用。
参考资料
https://blog.csdn.net/yanglingwell/article/details/53745758
【操作系统架构原理】资源管理技术与进程的抽象设计思想相关推荐
- 操作系统架构原理-资源管理技术与进程的抽象设计
热爱计算机科学和互联网技术,掌握扎实的计算机基础知识,深入理解数据结构.算法和操作系统知识. 操作系统定义 定义: 操作系统(Operating System,OS)尚无严格的定义. 例如: 1.OS ...
- Python技术学习之Django框架设计思想
Python是目前比较流行的计算机编程语言,据用丰富和强大的库,被称为胶水语言,能够把用其他语言制作的各种模块很轻松地联结在一起. Python功能强大,用途广泛,可广泛应用于云计算.web开发.科学 ...
- 图解linux内核设计艺术,Linux内核设计的艺术:图解Linux操作系统架构设计与实现原理...
Linux内核设计的艺术:图解Linux操作系统架构设计与实现原理 作者:新设计团队 出版日期:2011年05月 文件大小:29.01M 支持设备: ¥6.00在线试读 适用客户端: 言商书局 iPa ...
- Linux内核设计的艺术:图解Linux操作系统架构设计与实现原理
为什么80%的码农都做不了架构师?>>> Linux内核设计的艺术:图解Linux操作系统架构设计与实现原理 本书使用高分辨率精心绘制的300多张图片,帮助大家理解操作系统特有 ...
- 什么是底层架构_厉害!阿里技术专家发布1500多页计算机底层架构原理解析宝典|现代汽车|计算机|原理|操作系统|存储器...
计算机被称为20世纪最伟大的发明之一 .1946年诞生的第一台电子计算机ENIAC,是一个每秒能运行5000次.重达30吨的庞然大物.如今计算机变得无处不在,以至于人们大大低估了它的复杂性一今天一 部 ...
- 小程序开发:概念、特点、原理及技术架构解析
前言 本文将深入探讨小程序开发的概念.特点.原理和技术架构.通过对小程序的全面解析,帮助大家更好地理解小程序的本质和优势. 文章目录 前言 一.小程序的概念 二.小程序的特点和优势 三.基本原理 四. ...
- 03 ElasticSearch笔记-搜索技术深入与集群架构原理
回顾: 1.通过term 和 match查询数据时细节点以及数据类型keyword与text区别 1.1 term查询 1.1.1 term查询keyword字段. term不会分词.而keyword ...
- 免费分享:5本架构师书籍,架构解密从分布式到微服务,分布式服务架构:原理、设计与实战,架构真经互联网技术架构的设计原则,架构探险
1.架构即未来 现代企业可扩展的Web架构流程和组织 PDF 下载 下载地址:http://www.askwinds.com/r-c/down-info-02/6fbd80dc949241298e6a ...
- 【Quarkus技术系列】「云原生架构原理」在云原生时代下的Java“拯救者”是Quarkus,那云原生是什么呢?
云原生时代下的Java"拯救者" 在云原生时代,其实Java程序是有很大的劣势的,以最流行的spring boot/spring cloud微服务框架为例,启动一个已经优化好,很多 ...
最新文章
- ue4蓝图节点手册中文_UE4蓝图解析(一)
- input 事件_14. 教你零基础搭建小程序:小程序事件绑定(1)
- 实变函数与泛函分析导论
- 22-高级特性之内建方法(3)
- Webstorm2017安装以及破解和汉化
- 非常不错 Hadoop 的HDFS (Hadoop集群(第8期)_HDFS初探之旅)
- 592zn rom/apk 自动签名工具_关于邮件签名证书的常见问题
- 做形态学方法的团队_做好形态学实验教学准备工作的几点体会
- NeurIPS 2020 | AI编程:如何从复制粘贴走向推理合成(文末附论文及代码)
- 读《豆瓣的基础架构》有感
- 有序列表ol与无序列表ul用法
- 【【henuacm2016级暑期训练】动态规划专题 D】Writing Code
- 网页一直提示flash版本过低升级后还是不行
- CCF NOI1097 数列
- ORA-00932: 数据类型不一致: 应为 CHAR, 但却获得 NUMBER
- uva 10105(数论)
- Android使用adb截屏
- Vue--创建一个vue项目
- C++中的bool类型
- 鱼眼:一:一分钟详解鱼眼镜头标定基本原理及实现