![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算机基础
csdn_gddf102384398
这个作者很懒,什么都没留下…
展开
-
二进制补码表示数
-33的补码表示:+33的补码表示为:0100001,对+33的补码按位取反再加1所得二进制数为:1011111,这就是-33的补码N位补码进行运算,为使运算不发生溢出,需要N+1位来表示数据,比如上述+33二进制补码表示为:0100001,用8位表示为:00100001-33用补码表示为:1011111,用8位表示为:11011111...原创 2019-09-04 17:24:07 · 1270 阅读 · 0 评论 -
系统调用的实现
转载:https://www.cnblogs.com/Five100Miles/p/8878080.html转载 2019-09-05 09:43:45 · 120 阅读 · 0 评论 -
操作系统原理之内存管理
内存管理方式有3大类:连续存储管理、分页存储管理、分段存储管理。1、连续存储管理是指将一个程序安排在一个分区中,程序在这个分区内是连续存放的。连续存储管理有固定分区和可变分区两种方式,固定分区是预先由系统将内存划分为数目固定而大小不等的分区,分区大小可以根据作业大小事先设计好;而可变分区是根据作业大小来为作业分配分区,系统应该保存已分区和未分区的信息。2、分页存储管理...原创 2019-09-09 14:44:36 · 467 阅读 · 0 评论 -
进程内存布局
x86下Linux典型的进程内存布局C语言中,char* p=“hello”;这里的字符串常量是保存在.rodata段中的,并不是所有的字面值常量都是保存在.rodata中,比如局部变量int a=123; 这里123直接存在于指令中。...原创 2019-09-25 10:14:59 · 97 阅读 · 0 评论 -
抢占和线程
抢占有内核抢占和用户抢占。内核抢占是指CPU执行于内核态时被其他内核线程抢占走。内核级线程不等于内核线程,内核级线程指线程的管理工作由内核完成,内核级线程运行在用户态,使用的是用户栈。内核自身也可由线程实现,这种线程称为内核线程,使用的是核心栈。...原创 2019-09-25 10:59:24 · 194 阅读 · 0 评论 -
为什么使用EBP而不用ESP作为访问局部变量的指针的解释、函数调用
EBP默认也使用SS作为段寄存器,C语言函数的形参和局部变量是存储在堆栈中的,并采用EBP作为访问它们的指针。在进入子函数开始,先将EBP压栈以保存其初值,然后将ESP赋给EBP,这样就可以通过EBP进行相对寻址来存取局部变量了。为什么不用ESP呢,因为ESP在程序中可能经常用到,比如通过PUSH和POP成对操作来访问一些临时数据:...push ax;程序执行过程中,需要使用ax保存一些中间...原创 2019-08-25 12:38:09 · 719 阅读 · 0 评论 -
linux下AT&T汇编之helloworld
hello.s.section .rodata str: .ascii "Hello,world!\n".section .text.globl _start_start: movl $4,%eax movl $1,%ebx movl $str,%ecx movl $13,%edx int $0x80 movl $1,%eax movl $0,%ebx int ...原创 2019-09-29 19:01:38 · 213 阅读 · 0 评论 -
端口映射I/O(I/O端口与主存独立编址)和内存映射I/O(I/O端口与主存统一编址)
关于这方面的内容请参看下面两个链接:https://blog.csdn.net/renlonggg/article/details/80511088https://www.cnblogs.com/idorax/p/7691334.html原创 2019-09-29 20:24:38 · 520 阅读 · 0 评论