【Linux】线程(一)

谈论之前需要先谈论一些线程的背景知识

其中就有进程地址空间,又是这个让我们又爱又恨的东西

目录

  • 背景知识:
    • 地址空间:

背景知识:

地址空间:

说在前边,OS通常分为4个核心模块:执行流管理,文件系统管理,文件管理与IO管理。

在这先要涉及到对内存的管理。

以下是一张内存与磁盘的形象图。
在这里插入图片描述
在没接触内存管理之前我们通常是认为内存是直接一整块的。
现在我们要知道内存其实不是一整块的,而是分成了一个大数组,数组每个大小4kb!每个4kb叫做页框或页帧。
在这里插入图片描述
当然,这个是可以进行更改的,但是需要将OS重新编译一份出来,另外这个数字是由计算机科学家研究出来的。

我们的这个4KB是不是看着很熟悉呢?
4KB也正是磁盘文件与系统进行IO的基本单位。
在OS中的巧合都是精心设计的~

结论:我们磁盘中的可执行程序也是文件,是文件就有对应的inode。我们磁盘中已经天然的按4kb,比如说我们文件存放自己的数据就在datablock[]中,这个就是以4kb进行划分的,所以在进行磁盘IO时,所谓的加载就是把数据块加载到指定的内存块。


那么现在就有一个问题了:当父子进程共享了一个全局变量int类型,进行写时拷贝时是进行4字节的拷贝还是4kb呢?

答案是4kb,这遵循了一个局部性的原则,当你本行的数据被修改,那么下一行会有90的概率也被修改,避免了太多的拷贝,OS也是很忙的。
所以其实我们C语言malloc4字节其实也是申请了4kb,只是我们只能只用4字节(很粗略的理解)
我们的共享内存所以一般也都是申请4096个字节的整倍数…


那么是怎么进行划分的呢,那么多4kb是如何管理的呢?
比如每个内存块被占用了多少,被谁占用了…

所以需要进行管理。
假设我们是4GB,那么大约是一百万的页框,更准确来说是104876,每个页框都有自己的使用情况。

在这里插入图片描述

最底层使用数组进行管理起来,每个page都有自己对应的下标–>也就是每个页框的起始地址。

所以对内存的管理就变为了对数组的增删查改。
那么这个数组大约多大呢?
假设每一份是1byte,那么大约是1mb。
但是实际上一份大约是十几byte。那么就是十几MB就可以管理起来这个数组了。

持续更新…

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flutter项目开发模版,开箱即用

前言 当前案例 Flutter SDK版本:3.22.2 每当我们开始一个新项目,都会 引入常用库、封装工具类,配置环境等等,我参考了一些文档,将这些内容整合、简单修改、二次封装,得到了一个开箱即用的Flutter开发模版…

喜讯!云起无垠入选《2024中国AI大模型产业图谱1.0版》

近日,数据猿与上海大数据联盟联合策划并启动了“2024全年度三大策划活动”,经过数月的精心筹备和严格筛选,通过直接申报交流、深入访谈调研、外部咨询评价以及匿名访谈等多维度交叉验证的方式,最终完成了《2024中国AI大模型产业图…

鸿蒙开发文件管理:【@ohos.securityLabel (数据标签)】

数据标签 该模块提供文件数据安全等级的相关功能:向应用程序提供查询、设置文件数据安全等级的JS接口。 说明: 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 导入模块 import security…

【单片机毕业设计选题】-基于STM32和阿里云的家庭安全监测系统

系统功能: 此设计采用STM32单片机采集环境温湿度,烟雾浓度和一氧化碳浓度显示在OLED上,并将这些信息上报至阿里云平台。 1. 上电连接手机热点后自动连接阿里云,可通过阿里云平台收到系统上报的温湿度,烟雾 浓度,一氧化碳数据以…

大数据时代下哈尔滨等保测评的新挑战与对策

引言 大数据时代,信息爆炸式增长,数据成为了新时代的“石油”。作为黑龙江省的省会城市,哈尔滨在积极推进智慧城市建设的过程中,大数据技术的应用日益广泛,随之而来的是信息安全领域的新挑战,特别是对信息…

WEB基础--TOMCAT服务器

服务器概述 什么是服务器 服务器:就是一个提供为人民服务的机器,这里的服务器主要指计算机服务器,分为两种:服务器软件和硬件服务器; 服务器分类 1、硬件服务器:安装了服务器软件的主机。就相当于高配的…

AI绘画基础教学:我用AI做建筑设计,10分钟完成100个方案

人工智能进入大众视野,就是ChatGPT给所有人打开了一扇通往人工智能世界的大门,面对这样一个强大又不太好驾驭的工具,很多人都经历了从惊讶、到惊喜,再到不知道能干啥用的茫然。 AI能帮人们做什么?建筑行业有哪些专门针…

Linux网络 - json,网络计算服务器与客户端改进

文章目录 前言一、json1.引入库2. 使用步骤2.Calculator.hpp3.Task.hpp4.serverCal.hpp 新客户端 前言 本章内容主要对上一章的网络计算器客户端和服务器进行一些Bug修正与功能改进。 并学习如何使用json库和daemon函数。 一、json 在我们自己的电脑上一些软件的文件夹中&…

顶顶通呼叫中心中间件-限制最大通话时间(mod_cti基于FreeSWITCH)

顶顶通呼叫中心中间件-限制最大通话时间(mod_cti基于FreeSWITCH) 一、最大通话时间 1、配置拨号方案 1、点击拨号方案 ->2、在框中输入通话最大时长->3、点击添加->4、根据图中配置->5、勾选continue。修改拨号方案需要等待一分钟即可生效 action"sched…

《Brave New Words 》2.2 阅读理解的未来,让文字生动起来!

Part II: Giving Voice to the Social Sciences 第二部分:为社会科学发声 The Future of Reading Comprehension, Where Literature Comes Alive! 阅读理解的未来,让文字生动起来! Saanvi, a ninth grader in India who attends Khan World S…

Echarts 在折线图平滑位置处添加该处信息

文章目录 需求分析需求 分析 通过自定义折线图的标签(label)来实现。在 ECharts 中,可以通过设置 series 中的 label.normal.formatter 属性来实现这一点。 需要注意的是拐点处symbol不能设置为 none,否则会展示不出 label ,以下是一个示例代码,演示了如何在折线图的相邻…

超详解——Python 元组详解——小白篇

目录 1. 元组简介 创建元组 2. 元组常用操作 访问元组元素 切片操作 合并和重复 成员操作符 内置函数 解包元组 元组方法 3. 默认集合类型 作为字典的键 作为函数参数 作为函数的返回值 存储多种类型的元素 4.元组的优缺点 优点 缺点 5.元组的使用场景 数据…

如何保证数据库和缓存的一致性

背景:为了提高查询效率,一般会用redis作为缓存。客户端查询数据时,如果能直接命中缓存,就不用再去查数据库,从而减轻数据库的压力,而且redis是基于内存的数据库,读取速度比数据库要快很多。 更新…

《web应用技术》第十一次作业

1、验证过滤器进行权限验证的原理。 代码展示: Slf4j WebFilter(urlPatterns "/*") public class LoginCheckFilter implements Filter { Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) thro…

计算机网络 —— 数据链路层(无线局域网)

计算机网络 —— 数据链路层(无线局域网) 什么是无线局域网IEEE 802.11主要标准及其特点: 802.11的MAC帧样式 我们来看看无线局域网: 什么是无线局域网 无线局域网(Wireless Local Area Network,简称WLAN…

平板消解加热台-温度均匀,防腐蚀-实验室化学分析

DBF系列防腐电热板 是精致路合金加热板块表面经进口高纯实验级PFATeflon氟塑料防腐不粘处理,专为实验室设计的电加热产品,是样品前处理中,加热、消解、煮沸、蒸酸、赶酸等处理的得力助手。可以满足物理、化学、生物、环保、制药、食品、饮品…

【个人博客搭建】(23)购买服务器、域名、备案

1、服务器主要是为了有一个公网的IP地址,方便我们可以通过网络随时访问 2、域名是对IP地址的一个替代。简单说IP地址可能不方便记忆,但是自己配置的域名会简单些,另外暴露IP地址也不安全。(虽然也能通过域名找到IP) 3、备案。这是政策。简单所…

PBox iOS端的应用隐藏、图片视频加密软件

哈喽,大家下午好!相信大家的手机中一定存在很多的私密内容,比如软件、照片、视频或者文档文件,很多都是不方便让外人看到的,此时就需要一款隐藏工具,市面上这类软件大部分都是收费的,应大家的需…

DETR实现目标检测(一)-训练自己的数据集

1、DETR架构 DETR(Detection Transformer)是一种新型的目标检测模型,由Facebook AI Research (FAIR) 在2020年提出。DETR的核心思想是将目标检测任务视为一个直接的集合预测问题,而不是传统的两步或多步预测问题。这种方法的创新…

升级和维护老旧LabVIEW程序

在升级老旧LabVIEW程序至64位环境时,需要解决兼容性、性能和稳定性等问题。本文从软件升级、硬件兼容性、程序优化、故障修复等多个角度详细分析。具体包括64位迁移注意事项、修复页面跳转崩溃、解决关闭程序后残留进程的问题,确保程序在新环境中的平稳运…