https://t.cn/A662HuUI
学了这么久堆漏洞了,我想应该把glibc的malloc和free源码解析写一下了,希望能帮助一下刚上路的师傅,同时也巩固一下自身知识。

内存分配:
我们平时写程序的时候,某些变量可能需要在开始就分配内存,这些内存是不可避免的。那么这些内存就是静态分配的,当程序编译完成之后,它就确定了占用这么多的内存。

但是有时候,实际问题的规模没有预期那么大,我们不一定需要很大的内存,如果每次都按最大考虑那么就有很大一部分内存是被浪费的,这就是静态分配内存的弊端,虽然咱打acm的时候都是静态分配的。

但是这没啥,因为每个问题不要超过它的总内存上限问题就不大(狗头。但是在内存不足的年代,如果都这样使用静态分配内存的方式,那么计算机的效率会被拖垮很多,所以就有动态分配内存的概念了。

glibc采用ptmalloc的管理方式去分配内存。

ptmalloc2的分配策略:
那么动态分配内存要怎么去分配呢?如果我们需要占用除了我程序本身占用的内存以外的一块内存,那程序指定是没权限用的,得先向操作系统申请这一块内存的使用权。

而操作系统没那么闲,分配几个字节的内存都要它去管,操作系统管理都是按页式的管理。而一页的内存是0x1000B,如果每一次申请我都向操作系统申请,每一次归还都直接归还给操作系统那么必定会增大操作系统的负担。

因此分配内存的时候可以按照一个策略去分配,分配一定得尽量避免过多地使用系统调用,归还的时候可以等到程序结束时一并归还,这样的话操作系统的负担就大大下降了。

ptmalloc2的分配方式会在你第一次malloc的时候向操作系统申请0x21000B(132KB)的内存,然后后续分配就不会向操作系统申请内存,只有用完了的时候才会再次申请内存。

操作系统的问题解决了之后我们再来看看glibc怎么处理具体的分配细节。分配的时候我一定是切出一块特定大小才是最优的策略的,比如程序malloc(4),那我接切个4字节的内存给它用,malloc(1)那就给它一字节去使用。

然而现实没有那么理想,因为如果我切下来的块用户程序完全可写的话,那么我怎么区分这个内存块是否被使用呢?然后内存块的分界线又如何界定呢?

所以分割内存块的时候不可避免地要在内存块中额外开出一部分区域用于管理。那么可以在每个分配的内存块加上一个int数据作为此内存块的size,64位的操作系统可以使用long long。

同理,为了管理方便,glibc在分配chunk的时候也并不是分配这么多就只能写这么多的。它也不想闲到去管1字节2字节这样的内存块。而且如果有这样的内存块,那么在分配指针的时候内存没办法对齐会出现很多麻烦的事。

所以在分配内存块的时候,有一个SIZE_SZ,一次分配的内存必定是SIZE_SZ*2的整倍数,SIZE_SZ在32位操作系统下的值是4,64位的值是8。为了方便,以下把内存块统一叫chunk。

以32位操作系统为例,size的值必定为8的整数倍,二进制角度下看来,低三位永远是0,这样有点浪费了内存,因此规定size的低三位不作为实际的chunk大小,而是标志位。三个标志位从高位到低位分别是:
NON_MAIN_ARENA:是否为主分配,0表示是主分配,权值为4。

IS_MMAPPED:表示内存是否为mmap获得,0表示不是,权值为2。

PREV_INUSE:表示前面一个内存块是否被使用,0表示不被使用,权值为1。

在64位操作系统中,多出一个标志位,但是这个标志位无任何意义,可能后续会赋予别的意义,但是它一样不影响chunk的大小。

【#什么人在职场上活得最轻松# ?】

1. 为什么你一看见办公室政治就头疼?

收到的咨询,最多的是关于“职场政治”的困惑。我发现,“职场政治”的大部分原则,比如“谨慎站队”、“小心慎言”、“禁忌话题”、“上司管理”等等,人人都能理解,但执行起来,有一些人很快就能上手,有一些人却总是“臣妾办不到啊”。办公室政治的本质是通过人际关系进行的“看不见的竞争”,这里既有利益竞争,也有性格冲突。过去我们讲“职场政治”,总是告诉你要怎么认清双方的利益关系,然后是一堆潜规则,搞得很庸俗。但性格层面的因素,却被我们忽视了。

2. “低自我监控者”真的是职场政治的loser吗?

小王和小李是同时进公司的员工,但两年后的绩效评估中,小王比小李高了很多,率先获得晋升资格。两人的能力都不错,工作也都很努力,最大的区别在于人际关系的处理上。小王擅于察颜观色,根据领导和同事的态度灵活应变,形象管理也很好,让她始终以积极、高效、开放的职场形象示人。而小李完全相反,他的口头禅是:“我生活得很真实,从不会为了取悦他人而改变自己。”“根据周围人的反应,改变自己行为”的“见风使舵”的能力,心理学上称之为“自我监控”,前面的小王属于“高自我监控者”,很多调查表明,高自我监控者的晋升机会明显更高。“低自我监控者”有两类,一类属于内向、保守、敏感型性格,很容易对职场人际关系累觉不爱;另一类属于过于热情、粗心、直率的性格,更是“职场政治”的受害者。

你一定以为,本文会教大家如何成为一个“高自我监控者”,但我不打算这么做。《黑镜》第三季有一集,设想了一个人与人相互打分的社会,分数越高,你占有的社会资源越多,每个人都试图用自己最完美的形象去吸引别人,给自己打高分,整个社会充满了渴望以“混圈子”的方法来突破现有阶层的人。我们试想,如果职场中每一个人都是“高自我监控者”,为了控制大家的印象,释放出的信息都是非常正面、积极、美好的,那不就变成了“朋友圈”了吗?你在朋友圈里能得到真实的信息吗?

事实上,“低自我监控者”有自己的优势,他们的性格很直接,对组织的忠诚度也更高。所以,保持一定比例的“低自我监控者”,是一个组织健康发展的必要条件。但有人要说了,难道要这些“低自我监控者”牺牲自己的职场前途,去维持组织的稳定,去填平“高自我监控者”的晋升之路吗?

那些身居高位的管理者,“低自我监控者”的比例真的少吗?那些冷酷无情的总经理、原则性极强的董事长、内向敏感的CEO,比比皆是。他们不都是从职场政治的腥风血雨中活下来的吗?这就需要我们用一种全新的眼光去看待“职场政治”这个老话题,找到最适合“低自我监控者”的职场生存之道。

3. 广结同盟,还是坚持自我?

既然讲职场政治,我们还是先回到“政治”本身。政治,一直有“利益政治”和“原则政治”的说法。“利益政治”最常见,特朗普就是“极端利益政治”的代表,他在《交易的艺术》开头就说:“多数人都对我的行事方式感到惊讶,我经常会出尔反尔。”当总统后,他常常为自己的行事诡异进行辩解:“我怎么可能让你知道我的底牌?” 而特朗普早期的军师、极右翼分子班农则恰恰相反,是“原则政治”代表,反多元文化者,坚持“禁穆令”,反对拿原则作交易,所以才被“什么都能拿来交易”的特朗普打入冷宫。

职场政治也一样,以前给人的印象往往是“利益至上,不讲原则”,其实不然。办公室政治中,既有讲利益的,也有讲原则的。举个例子:职场中有派系,派系有斗争,斗争有输赢,万一你站在输的那一方,职场政治有一个大忌,就是投靠对手——忠诚,就是一种“讲原则”的职场政治。再以工作配合为例,大部分人都更倾向于和一个性格明确、利益透明的人合作,因为我们都是风险厌恶者,尤其讨厌的是别人带来的风险。

职场上的“利益政治”和“原则政治”,其实是两种不同的人际关系合作策略。“利益政治”的合作策略是,用最少的代价,换最大的利益,没有永恒的朋友,只有永恒的利益。所以,底牌永远不会摊出来。“原则政治”的合作策略是,我有什么,我要什么,我是怎样的人,一切都摆在台面上,如果你愿意,请放心与我合作。“利益政治”是主动出击,化敌为友,广结同盟;“低自我监察”是坚持自我,敌我分明,后发制人。“利益政治”需要洞察他人的需求,克制自己的情绪,适合前面说过的“高自我监控者”。

“原则政治”则相反,如果你是一个“低自我监控者”,常常屏蔽社交信息,还对猜测别人的心思感到很不耐烦,那你不如采用“原则政治”的人际关系策略,增加自己的透明度,增强行动的可预测性,把自己放在被选择的地位上,放弃某些眼前利益,让对方产生长期合作的高预期。一句话,“职场原则政治”的目标是建立长期可持续的合作关系。我想一定有人要问:底牌都摊出来了,人家故意欺骗你怎么办?这是个好问题,答案就5个字:一报还一报。

4. 为什么“一报还一报”是最好的合作策略?

密歇根大学政治科学家艾克斯罗德在研究“合作与博弈理论”时,用电脑模拟过一个“生存游戏”,他公开征集了几十个不同的“合作策略”,放在一个程序里竞争,结果,他发现最后存活数量最多的是一种叫“一报还一报”的合作策略,几次实验结果都是如此。“一报还一报”的策略和前面说的“原则政治”很像:第一步,相信合作者,从不首先背叛;第二步,对于对方的背叛行为一定要惩罚;第三步,惩罚过一次,对方再想合作,还是选择相信。

实验发现,“一报还一报”策略在一开始并不占优势,总是要到后半场,才真正开始发力。而我们常常用的“欺软怕硬”策略、“欺骗性合作”策略等等,刚好相反,一开始占优势,最后无一例外遭到失败。此外,实验还发现,“一报还一报”的策略虽然总分最高,但在每一轮博弈中,从来拿不到最高分。这两点都说明了一个道理,“原则政治”信奉者,为了长远的优势,往往要牺牲眼前的利益,承受暂时的打击:

在印象形成阶段,你需要承受一定的人际冲突。而且,你不能嫉妒人家,不能因为“能力不如你、但人际关系比你好”的人提升,而愤愤不平,因为这是你的选择。你也不能玩小聪明,有利益时,变成“利益政治”,没利益时,变回“原则政治”,这就变成了“欺骗性合作”策略。顺便提一嘴,艾克斯罗德把这一系列实验写在了一本叫《合作的进化》的书里,用实验结果解释了很多政治与道德选择背后的原理,里面有一句话,令人震惊:“只要有5%的人持一报还一报的策略,就可以改造一个充满了欺骗的社会。”当然,想要玩转职场“原则政治”,还有三条原则。

5. “原则政治”的三条原则

“原则政治”最重要的第一原则是:金身不破。保持你性格的稳定性,内向你就一直内向下去,保守你就始终保守,敏感你就别怕别人说你敏感。记得以前有个巨蟹座的同事,口头禅就是“身为巨蟹座,赶紧做完回家是一件天大的事”,反复念叨了一两年,大家让他加班时,总有一种负疚感。形成稳定预期后,别人就知道怎么配合你,如果你是一个很挑剔的人,别人自然会把准备工作做得更细,如果你是个直率的人,人家对你的某些言论也就见怪不怪了。

“原则政治”第二个原则:扬长,不避短。“不避短”前面说过了,扬长就是“长板理论”——把木桶倾斜,能装最多的水决定于你最长的那块板。选择了“原则政治”,好处是可以把精力集中在业务能力的提升上。既然你不能主动出击,你总得有点真材实学,别人才愿意跟你合作啊。

“原则政治”第三个原则:不知彼,但知己。“原则政治”不要求你洞察他人,但相应就提高了“了解自己”的要求。问题在于,一部分“低自我监控者”恰恰是对自我缺乏了解的人。而且,对于一个20多岁的职场新人而言,你真的了解自己吗?你的性格真的不会变吗?坚持个性原则,永远不应该成为你逃避成长的借口。

6. 半途而废者,最累

职场政治未必都是潜规则的世界,讲原则也是可以得到利益的,只是这个过程是如此漫长,长到很多人都半途而废。职场上有两种人活着最轻松,一种是讲原则的人,另一种是完全不讲原则的人。而那些半途而废的人,最累。https://t.cn/A662TTsL(作者:人神共奋)

靳东:与离过婚的江珊共枕5年,为何又转身娶了二婚的李佳?靳东也属于中年成名的男明星,近几年凭借在剧中的精彩表现获得了很多观众的喜爱。很多人都说想要嫁给靳东,但是事实上靳东已经是两个孩子的爸爸了。他的感情生活也很坎坷,和江珊同居五年后没有结果,最后娶了二婚的李佳。今天我们就来说一说靳东的感情经历。


发布     👍 0 举报 写留言 🖊   
✋热门推荐
  • 比较推荐的“删除”情况,通常有两种:第一种就是,你真的已经挽回无力,对方真的怎么样都不爱你了,甚至已经对你鄙夷;你自己明知道两个人就算复合也过不下去,没有未来,
  • [允悲]|这段我也不晓得咋说,是真诚而又笨拙的爱吧,但白启嘉喝醉真的好好笑[偷笑]但我明白的是,白启嘉很爱秦歌,白启嘉相信自己有能力让秦歌幸福,他让秦歌一定要相
  • 3.我能想到最浪漫的事,就是和你一起慢慢变老,一起找一个小镇,安静地住下,早上在巷口看日出,晚上依偎着看夕阳。另外,录制顺利,玩的开心,别冻感冒啦哈(紧跟实事
  • #严浩翔[超话]#18#严浩翔 音轨成诗十八拍# 浩翔 你要知道 你一直是那个让我们感到骄傲自豪的严浩翔 是一个很懂事的小孩 一路以来的压力没有人能理解 但正因
  • [单身狗][单身狗]苍兰播得不错希望后面有好的剧本递给他粉丝力所能及的就是做数据反黑支持了他我们超话每天进来三四万活粉,据不该如此拉垮[泪][泪][泪]希望平时
  • #重庆租房[超话]##重庆租房[超话]#转租主卧无中介,坐标渝北区冉家坝南开苑小区,房间是四室一厅大小:主卧20平米左右,房间通透设施:主卧带有空调,热水器,淋
  • #浙江传媒学院考研[超话]##盒子带你读论文##浙传考研##新闻传播学考研# ▶️《平台作为方法:劳动、技术与传播》▶️孙萍 邱林川 于海青▶️作为一种新的互联
  • 例如,如果 F是的封闭解析子空间Y上的常数层C_{Y}、在所有上由零扩展,那么我们发现由Y在中的O_{Xn}个无穷小邻域形成的前层(NB La这个射影系统的射影
  • 三门峡俩小孩20年前他人婚礼上“合影” 20年后成夫妻!三门峡俩小孩20年前他人婚礼上“合影” 20年后成夫妻!
  • 作为一名演技派,殷桃在作品中对细节的雕琢,对角色的钻研和在每个镜头下精彩的演绎,每一步都始终坚持心向所爱,厚积薄发,诠释着自我的升华,亦如周生生“追寻所爱,升华
  • 我的世界终于安静了,但也困的不行,晚安#晚安##2020第一场雪# 朋友圈铺天盖地都是停课放假的消息,欢呼声一片一片的,好羡慕这种感觉啊[悲伤][悲伤]我天天在
  • 记者 | 王 杰 王 晓【#周口川汇区通报新增无症状感染者情况# 】2022年8月16日6:40,川汇区新冠肺炎疫情防控指挥部接到周口市疾控中心协查函,8月15
  • 今晚有Alan的客串,这个很值得期待[开学季](道谢省略一百字 虽然还没看cl25,但是看了演唱的「運命」回家路上看的,没想到就哭了出来,好想尽快听到现场演唱
  • 或许注定一个孤独的灵魂,从此选择凭栏杆去听风雨、见宇宙,头顶的月与苍穹不会为谁缺损或衰老,但浩瀚的心却因此见识了须臾与永存。又起的野草不复到那荒芜的心中去,这离
  • #任嘉伦与君初相识# 如果后期的北渊尊主遇见的前期的萌萌长意……我已经可以脑补一个叫《囚鱼》的话本子了。实际上:我的鱼儿真可怜我要保护他!
  • 02尊重彼此,不用情感绑架对方柳碧云作为几个孩子的后妈,在管教上必然不能随口就骂,伸手就打,会伤害了本身就脆弱的信任。面对婆婆讥讽自己出去跳舞是不三不四的行为,
  • 我觉得马蓝星对独孤月更多的是愧疚和自责,愧疚自己把他落在月球上,人家这么喜欢自己,自己却不知道或者对他没意思,而在影片接近尾声的按按钮的镜头,有把她在影片开头按
  • 你那忧郁的眼神,唏嘘的胡渣,神乎其技的刀法,还有那杯dry马提尼,都深深地迷住了我⋯⋯”我心中回想着娜娜这样说…可现实是“面粉水放多了!今天娜娜生日,我打扮了心
  •   周兴和冷静了一下,手中未拿任何发言资料,镇静地走上讲台,他上台就讲了三句话:“各位领导、各位专家,我非常高兴地参加今天的秸秆研讨会议;在今天的大会上,我敢讲
  • 房间情况:租金是押一付三,有全自动洗衣机,沙发,衣柜,桌子,采光良好,屋子因为东西较多,拍出来效果不好,如果能看中,保证入住前会打扫干净,有需要的朋友,请联系我