首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Linux 中的 32 与 64

而在linux中则称为x86_64,即x86架构的64扩展。 有关x86_64的详细描述可翻阅《深入理解计算机系统》一书。...2、系统 系统同样可分为32与64。在x86_64架构的CPU出现之前,PC的操作系统都是用32,例如windows 2000,xp,当时的unix,linux等。...查看linux系统是32还是64的方法:执行shell命令“arch”,显示为x86_64表示当前系统为64,显示为i386,i486等表示系统是32的。...另外在64系统中,为了兼容数量众多的老的应用程序,系统都会增加一个虚拟层,用来翻译x86指令,这样32程序也可以在64系统中运行(windows和linux都支持)。...4、linux发行版与内核 在linux发行版中,一般会针对不同的架构发布不同的安装光盘,以debian为例,可用于PC的就有i386和amd64这两个版本。

3.2K20

Linux64程序移植

1 概述 Linux下的程序大多充当服务器的角色,在这种情况下,随着负载量和功能的增加,服务器所使用内存必然也随之增加,然而32系统固有的4GB虚拟地址空间限制,在如今已是非常突出的问题了;另一个需要改进的地方是日期...,在Linux中,日期是使用32整数来表示的,该值所表示的是从1970年1月1日至今所经过的秒数,这在2038年就会失效,但是在64系统中,日期是使用64整数表示的,基本上不用担心其会失效。...编译器按照自然边界对数据类型进行对齐;换而言之,32的数据类型在64系统上要按照32边界进行对齐,而64的数据类型在64系统上则要按照64边界进行对齐。...而Linux 64系统采用LP64数据模型,因此在long和pointer上,都有着和32系统不同的长度。...test { int i1; 32 32 32填充 double d; 64 64 int i2; 32 32 32填充 long l; 32 64 }; 结构大小为20

4.4K81

Linux系统编程】粘滞详解

上一篇文章我们学习了Linux权限相关的内容,这篇文章,我们再来学习一个知识点——粘滞。 1....背景 那为了让大家更容易理解粘滞的概念,首先我们要来了解一点背景知识: 就是我们在使用Linux的时候呢,有时候就可能需要一些共享目录,即被所有普通用户共享,用来保存普通用户产生的临时数据。...那在Linux中,这个共享目录一般是由root提供的,只要root把权限放开,那其他普通用户就可以以other的身份去访问这个目录了。 2....显然是不合理的,那为了解决这个不科学的问题,Linux就引入了粘滞的概念。(因此我们也应该知道,粘滞只能给目录添加) 3....因此呢,Linux就引入了粘滞权限去解决这个问题。 谁可以删除 那我们设置了粘滞之后呢,就可以阻止在共享目录中的一些普通用户去删除其它用户的文件。那这样普通用户删不了,谁可以删呢?

14610

运算-linux权限管理及应用

Linux基于运算的权限控制 Linux权限控制是基于运算实现的。...在Linux权限系统中,读、写、执行权限分别对应三个状态: 读 写 执行 ==> 二进制 ==> 十进制 0 0 1 ==> 001 ==> 1 0 1 0 ==> 010 ==> 2 1 0 0 =...2 待增加的权限,写 用户现有的权限码为0,为其增加“读取”、“写入”两种权限,即4,2 使用或运算结果如下 0|4=4 //增加读取权限 4|2=6 //增加写入权限 实现权限的减少(非运算) 运算同样可以实现用户权限的减少...优点和缺陷 运算的运算对象是二进制的,速度快,效率高,而且节省存储空间,运算做权限控制又相当地灵活。...但是,运算也有很大的局限,因为在32计算机上,位移不能超过32次,这就要求权限数量不超过32种。

1.2K20

Linux进程创建参数标志-Cloneflags

Linux世界中,clone()系统调用通过复制调用进程创建一个新进程。新进程称为子进程,原始进程称为父进程。clone()系统调用有几个选项,允许我们控制父进程和子进程之间资源的共享。...Cloneflags是一个用于指定创建 Linux 命名空间的标志, 是 Linux 内核中用于进程创建的参数之一,它用于控制新进程如何与父进程共享资源。...Cloneflags 参数是 clone() 系统调用的一部分,它通过一个掩码来指定新进程应该继承哪些资源以及如何共享这些资源。...docker的实现原理中,一些基础的功能也是用这些标志来实现,下面是一些用 Go 语言实现 Cloneflags 标志的示例代码: package main import ( "fmt"...在每个 Unshare 调用中,我们传入对应的 Cloneflags 标志,以创建对应的命名空间。

15210

结合coredump分析dirty page和IO request处理逻辑(下)

本文接上文"结合coredump分析dirty page和IO request处理逻辑(上)" 要进一步分析需要先了解下deadline调度器的相关原理: deadline的电梯性 电梯调度器最重要的属性就是保持...ffff8f6479605010: ffff8f6478dd4680 ffff8f6478dd69c0 .F.xd....i.xd... crash> ffff8f6478dd2340在static_rqs的索引1置...//前面分析SB_NR_TO_INDEX(sb, bitnr)的值范围为0-3,也就是对应四个struct sbitmap_word, //struct sbitmap_word.word对应的bit为...//找出四个struct sbitmap_word中word掩码为1的bit,根据所在组的bit计算出已被分配使用的tag id, //每组是64个tags,在word掩码对应bit基础上加上所在组号...crash> 综合该vmcore分析无论是单个io请求从分配request到磁盘响应IO请求是没有长时间的耗时的,可以排除内核和硬件问题, 据此可以确定hung task是因为重启前读IO流量过大以及dirty

97020

Linux文件和目录的粘滞(sticky bit)

几经周转,发现AAA用户创建文件位置的上层目录的权限是drwxrwxrwt,做开发这么多年了,还没见过所谓"t"的权限,于是找了一公司的linux大师帮忙,大师噼里啪啦的做了一堆试验后,然后在google...上搜索"rwt linux",终于发现了问题,发现这种用法的名字是“文件的粘滞(sticky)“。...它的作用是:普通文件的sticky会被linux内核忽略,但 目录的sticky表示这个目录里的文件只能被owner和root删除,没错这就是问题本质,也和我的现象相吻合。...普通文件的sticky会被linux内核忽略, 目录的sticky表示这个目录里的文件只能被owner和root删除 粘着(Sticky bit) 如果用户对目录有写权限,则可以删除其中的文件和子目录...# chmod 1770 xxx 举一个linux下的常见目录来做例子,也就是 /tmp 目录来说一下粘连的作用。

1.7K30

Linux64程序中的漏洞利用

所以理解32环境也是有必要的. 不过, 现在毕竟已经是2018年了, 64程序也逐渐成为主流, 尤其是在Linux环境中. 因此本篇就来说说64下的利用与32下的利用和缓解绕过方法有何异同....基础知识 寄存器 我们所说的32和64, 其实就是寄存器的大小. 对于32寄存器大小为32/8=4字节, 那64自然是64/8=8字节了..../victim linux-vdso.so.1 (0x00007ffff7ffa000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ffff7a3a000...) /lib64/ld-linux-x86-64.so.2 (0x00007ffff7dd9000) $ readelf -s /lib/x86_64-linux-gnu/libc.so.6 | grep..., 主要利用的是Linux 实现ASLR的设计缺陷, 在程序启用PIE时会导致加载地址空间(区域)和动态库相同, 从而导致ASLR熵减少.

1.2K70

漏洞复现- - -CVE-2016-5195 Dirty Cow脏牛提权漏洞

目录 一,漏洞分析 二,形成原因 三,漏洞检测复现 1、编译poc 文件 2、复现漏洞 四,漏洞修复 方法一 方法二 一,漏洞分析 脏牛(Dirty COW,编号:CVE-2016-5195)是2016...年10月18日被曝出的存在于Linux内核中的一款0day漏洞。...因为此漏洞是在Linux内核的内存子系统在处理写时拷贝(Copy-on-Write)时发生的,而又给Linux内核的使用带来烦恼,所以将其命名为“Dirty COW”。...漏洞编号:CVE-2016-5195 漏洞类型:内核竞态条件漏洞 漏洞危害:本地提权 影响范围:Linux kernel>2.6.22 (released in 2007) Linux内核的内存子系统在处理写时拷贝...Linux内核的内存子系统在处理写时拷贝(Copy-on-Write)时存在条件竞争漏洞,导致可以破坏私有只读内存映射。

1.9K10

Linux是否能在8MCU上运行?

转自网络 我们经常可以看到初学者在单片机论坛中询问他们是否可以在他们微不足道的小的8微机中运行Linux。这些问题的结果通常是带来笑声。...我们也经常看到,在Linux论坛中,询问Linux运行的最低要求是什么。常见的答案是Linux需要一个32架构和一个MMU(存储器管理单元),并至少1MB的RAM来满足内核的需求。...RAM(随即存取存储器) 是的,没错,完整的Linux安装需要数兆字节的RAM和32带有MMU的CPU。本项目拥有这一切。首先,让我们访问RAM。...CPU(中央处理单元) 所有剩下的就是那个32CPU和MMU需求。不过AVR没有MMU,并且它是8的。为了克服这一困难,我编写了一款ARM仿真器。...有效的仿真CPU速度约为6.5KHz,这与你期望的在一个可怜的8微控制器上仿真一个32CPU和MMU是同等的水平。奇怪的是,一旦启动,该系统是有些可用的。

1.7K20
领券