32位与64位
32位操作系统中的进程虚拟空间大小通常被限制为4GB,这主要是由于32位系统使用32位地址来定位内存地址。在计算机科学中,每个地址位可以表示2的幂次方的地址空间。因此,32位地址可以表示2^{32}个不同的地址,这等于4,294,967,296个地址,换算成字节就是4GB。
然而,实际上这4GB的虚拟地址空间并不是全部都用于用户程序的代码和数据。在32位系统中,操作系统还需要使用一部分地址空间来管理内存、处理系统调用、执行中断处理等。因此,实际可用给单个进程的虚拟地址空间通常小于4GB。例如,在某些32位操作系统中,用户空间和内核空间各占2GB,这样单个进程能够使用的虚拟地址空间就只有2GB。
随着技术的发展,64位操作系统的出现使得单个进程能够访问的虚拟地址空间大大增加,可以达到2^{64}个地址,即16EB(Exabyte,艾字节),这为大型应用程序和复杂的系统提供了更大的灵活性和扩展性。
进程在操作系统上的表达:
操作系统对于进程管理所需要的所有信息都存放在PCB中
PSW状态字寄存器就像是电脑处理器里的一个“记事本”,它用来记录处理器在执行指令时发生的各种情况。这个“记事本”里有很多“小格子”,每个“小格子”都有一个特定的任务,用来告诉我们处理器在某个时刻的状态。
比如:
CY(进位标志)这个“小格子”告诉我们在进行加减法运算时,结果是不是超出了它能记录的最大数。
OF(溢出标志)这个“小格子”用来提醒我们,如果一个运算的结果大到连处理器都装不下了,它就会标记出来。
SF(符号标志)这个“小格子”显示了运算结果的正负,如果结果是个负数,这个“小格子”就会亮起来。
ZF(零标志)这个“小格子”如果亮了,就表示运算的结果是零。
PF(奇偶标志)这个“小格子”会告诉我们运算结果里“1”的个数是奇数还是偶数。
还有一些“小格子”用来控制处理器的行为,比如:
IF(中断允许标志)这个“小格子”决定了处理器是否要停下来响应其他的紧急任务。
DF(方向标志)这个“小格子”在处理一连串的数据时,决定了我们是从头开始处理还是从尾开始。
总之,PSW状态字寄存器就像是处理器的“心情日记”,记录了它在执行任务时的各种状态和心情,程序员通过查看这个“日记”就能知道处理器遇到了什么问题,或者它现在处于什么状态。
进程在操作系统给用户的表现:任务管理器