![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
文章平均质量分 76
luckyone906
这个作者很懒,什么都没留下…
展开
-
CPU架构及原理
存储单元:包括CPU片内缓存和寄存器组,是CPU中暂时存放数据的地方,里面保存着那些等待处理的数据,或已经处理过的数据,CPU访问寄存器所用的时间要比访问内存的时间短。OK,总结一下,CPU的运行原理就是:控制单元在时序脉冲的作用下,将指令计数器里所指向的指令地址(这个地址是在内存里的)送到地址总线上去,然后CPU将这个地址里的指令读到指令寄存器进行译码。相对控制单元而言,运算器接受控制单元的命令而进行动作,即运算单元所进行的全部操作都是由控制单元发出的控制信号来指挥的,所以它是执行部件。原创 2024-06-06 22:35:15 · 691 阅读 · 0 评论 -
计算机控制系统之CPU组成及原理(内存寄存器)
而当除数是 16 位时,被除数一定是 32 位的,因为 AX 是 16 位寄存器,自然,放不下 32 位的被除数,所以,在这里还需要使用另一个 16 位寄存器 DX ,其中 DX 存放 32 位的被除数的高 16 位,而 AX 则存放 32 位的被除数的低 16 位,同时,AX 的作用还不仅仅是用来保存被除数的,当除法指令执行完成以后,当然,如果除数是 16 位的话,则 AX 中会保存本次除法操作的商,而 DX 则保存本次除法操作的余数。程序的开始过程和顺序流程是一样的,程序的顺序流程和开始过程相同。原创 2024-05-30 21:37:31 · 928 阅读 · 0 评论 -
c及c++基础概念:寄存器、内存、堆栈之间的关系和原理详解
寄存器寄存器是CPU内部用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果,包括通用寄存器、专用寄存器和控制寄存器。其实寄存器就是一种常用的时序逻辑电路,但这种时序逻辑电路只包含存储电路。寄存器的存储电路是由锁存器或触发器构成的,因为一个锁存器或触发器能存储1位二进制数,所以由N个锁存器或触发器可以构成N位寄存器。寄存器是中央处理器内的组成部分。寄存器是有限存储容量的高速存储部件,它们可用来暂存指令、数据和位址。寄存器拥有非常高的读写速度,所以在寄存器之间的数据传送非常快。内存原创 2024-05-30 21:23:46 · 1542 阅读 · 0 评论 -
虚拟内存概念3
c++原创 2022-11-11 19:10:30 · 1154 阅读 · 0 评论 -
C++程序开启大地址(虚拟内存),让32位程序使用4G内存的方法,虚拟内存概念及寻址范围详解
c++原创 2022-11-11 19:04:58 · 5475 阅读 · 1 评论 -
地址总线,字长,内存容量,寻址范围 之间的计算
c++原创 2022-11-11 20:35:15 · 19439 阅读 · 0 评论 -
windows系统内存结构概述(重要概念释疑)
c++原创 2022-11-11 20:35:45 · 2313 阅读 · 0 评论 -
计算机系统中虚拟内存概念解疑(2)
c++原创 2022-11-11 20:36:19 · 247 阅读 · 0 评论 -
计算机操作系统执行可执行程序时,内存分配详解
c++原创 2022-11-10 20:18:32 · 1667 阅读 · 0 评论 -
计算机系统中虚拟内存概念解疑(1)
c++原创 2022-11-11 20:36:01 · 935 阅读 · 0 评论 -
虚拟内存概念解疑
c++原创 2022-11-11 20:36:38 · 207 阅读 · 0 评论 -
应用程序进程,内存,虚拟内存之间的关系详解(1)
c++原创 2022-11-10 20:02:37 · 1094 阅读 · 0 评论 -
应用程序进程,内存,虚拟内存之间的关系详解(2)
c++原创 2022-11-10 19:15:09 · 1873 阅读 · 1 评论 -
qt中的进程优先级及应用内存大小设置方法,VS和Qt工程中申请超过2G的内存的方法
c++原创 2022-11-10 18:57:16 · 2247 阅读 · 1 评论 -
Windows11装新环境问题
环境配置原创 2022-06-05 14:06:45 · 524 阅读 · 0 评论 -
c语言中函数调用的原理及形参传递实质原理分析
一、 函数参数传递机制的基本理论 函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进行通信的方法问题。基本的参数传递机制有两种:值传递和引用传递。以下讨论称调用其他函数的函数为主调函数,被调用的函数为被调函数。 值传递(passl-by-value)过程中,被调函数的形式参数作为被调函数的局部变量处理,即在堆栈中开辟了内存空间以存放由主调函数放进来的实参的值,从而成为了实参的一个副本。值传递的特点是被调函数对形式参数的任何操作都是作为局部变量进行,不会影响主调函数的实.转载 2021-11-30 21:54:04 · 2144 阅读 · 0 评论 -
函数形参传递概念及问题分析
普通函数参数下面程序试图改变main函数中a和b的值#include<stdio.h>void fun(int x,int y){ int c; c=a; a=b; b=c;}int main(){ int a=1,b=2; fun(a,b); printf("a=%d b=%d\n",a,b); return 0;}函数参数传递分析:实参: &a 28ff18 ...原创 2021-11-30 21:52:01 · 290 阅读 · 0 评论 -
WindowsAPI中PostMessage与SendMessage的区别
1、返回值意义的区别,先看一下 MSDN 里的声明:LRESULT SendMessage( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);BOOL PostMessage( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); 其中4 个参数的意义是一样的,返回...原创 2021-11-06 11:10:39 · 642 阅读 · 0 评论 -
C/C++新建注册表项实例
使用Windows API 函数中的RegCreateKeyEx函数来实现对注册表新建注册表项。RegCreateKeyEx函数: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 原形:LONG RegCreateKeyEx( HKEY hKey, // 主键名称 LPCTSTR lpSubKey, // 子键名称或...原创 2021-05-05 10:10:23 · 814 阅读 · 0 评论 -
C# winform 禁用最小化和还原按钮(消息循环截获处理)
项目中遇到一些问题,需要根据权限配置去控制用户对系统平台是否可以最小化和还原窗口大小的操作,并且屏蔽系统的一些快捷键,比如:alt+F4,windows键,任务管理器等一些操作,代码如下:(禁止窗口最小化和还原(窗口启动之后为最大化))偷梁换柱(o(∩_∩)o 哈哈)重写WndProc方法:const int SC_MINIMIZE = 0xF020;//窗体最小化消息const int SC_MAXIMIZE = 0xF030;//窗体最大化消息const int SC_NOMAL =原创 2021-03-31 21:44:55 · 671 阅读 · 0 评论 -
计算机代码内大数据内存堆栈溢出问题
1.因为不管是c++还是c#,他们的对象内存都是在堆栈中分配的,加入堆栈中有2G空闲空间,但是这2G的空间不是连续的,也就是说最大的一块可供缓存数据的内存空间是这2G空间里最大的一片连续内存,当2G空间里最大的连续内存是50M,而需要缓存数据的某个内存不断增加数据超过了50M时就是内存溢出了,这个需要遵循软件设计规则,否则系统会崩溃。2.应用程序可以访问 2 GB 的进程地址空间,称为用户模式虚拟地址空间...原创 2021-02-23 18:52:17 · 283 阅读 · 0 评论 -
windows系统-程序加载时生成栈和堆的过程
EXE文件的内容分为再配置信息、变量组和函数组,这一点想必大家都清楚了吧。不过,当程序加载到内存后,除此之外还会额外生成两个组,那就是栈和堆。栈是用来存储函数内部临时使用的变量(局部变量【注1】),以及函数调用时所用的参数的内存区域。堆是用来存储程序运行时的任意数据及对象的内存领域(图)。【注1】局部变量是指只在调用函数时存在于内存中的变量。例如,在代码清单8-1中,WinMain函数的处理中的ave和buff都是局部变量。全局变量是指程序运行时一直存在于内存中的变量。代码清单8-1中的title就原创 2021-02-19 21:51:20 · 396 阅读 · 0 评论 -
windows系统-函数的条件分支实现用汇编语言解释
下面让我们来看一下条件分支的实现方法。条件分支的实现方法同循环处理的实现方法类似,使用的也是cmp指令和跳转指令,这一点估计大家也预料到了。没错,条件分支就是利用这些指令来实现的。不过,为了以防万一,我们来确认一下。代码清单10-11是,根据变量a的值来调用不同函数(MySub1函数、MySub2函数、MySub3函数)的C语言源代码。为了实现条件分支,这里使用了if语句。示例中被调用的各个函数,都不进行任何处理。将代码清单10-11的MyFunc函数处理转换成汇编语言源代码后,结果就如代码清单10-1原创 2021-02-19 21:48:54 · 437 阅读 · 0 评论 -
windows系统-汇编语言与机器码的关系
接下来就让我们进入到本章的前半部分。在前面章节中已经多次提到,计算机CPU能直接解释运行的只有本地代码(机器语言)程序。用C语言等编写的源代码,需要通过各自的编译器编译后,转换成本地代码。通过调查本地代码的内容,可以了解程序最终是以何种形式来运行的。但是,如果直接打开本地代码来看的话,只能看到数值的罗列。如果直接使用这些数值来编写程序的话,还真是不太容易理解。因而就产生了这样一种想法,那就是在各本地代码中,附带上表示其功能的英语单词缩写。例如,在加法运算的本地代码中加上add(addition的缩写)、原创 2021-02-19 21:47:50 · 1068 阅读 · 0 评论 -
windows系统-程序编译过程
系统调用和高级编程语言的移植性操作系统的硬件控制功能,通常是通过一些小的函数集合体的形式来提供的。这些函数及调用函数的行为统称为系统调用(system call),也就是应用对操作系统(system)的功能进行调用(call)的意思。在前面的程序中用到了time()及printf()等函数,这些函数内部也都使用了系统调用。这里之所以用“内部”这个词,是因为在Windows操作系统中,提供返回当前日期和时刻,以及在显示器中显示字符串等功能的系统调用的函数名,并不是time()和printf()。系统调用是原创 2021-02-19 21:46:52 · 808 阅读 · 0 评论 -
windows系统-汇编语言的语法是“操作码+操作数”
在汇编语言中,1行表示对CPU的一个指令。汇编语言指令的语法结构是操作码+操作数(也存在只有操作码没有操作数的指令)①。操作码表示的是指令动作,操作数表示的是指令对象。操作码和操作数罗列在一起的语法,就是一个英文的指令文本。操作码是动词,操作数相当于宾语。例如,用汇编语言来分析“Give me money”这个英文指令的话,Give就是操作码,me和money就是操作数。汇编语言中存在多个操作数的情况下,要用逗号把它们分割开来,就像Give me, money这样。能够使用何种形式的操作码,是由C原创 2021-02-19 21:45:51 · 6960 阅读 · 0 评论 -
c# 中重载WndProc,实现重写“最小化”自定义功能的方法
code #1复制代码代码如下:private void Form1_SizeChanged(object sender, EventArgs e) //最小化隐藏窗体{if (this.WindowState == FormWindowState.Minimized)//窗体状态为最小化{StopRectTimer.Enabled = false;this.Visible = false;this.notifyIcon1.Visible = true; //显示系统托盘图标thi.原创 2021-02-10 21:52:19 · 954 阅读 · 0 评论 -
c#中通过截获windows消息禁止改变窗体大小
private const int WM_SYSCOMMAND = 0x112; private const int MF_REMOVE = 0x1000; private const int SC_RESTORE = 0xF120; //还原 private const int SC_MOVE = 0xF010; //移动 ...原创 2019-11-06 16:30:43 · 428 阅读 · 0 评论 -
C# GC 垃圾回收机制原理
转载参照自以下文章:http://www.cnblogs.com/fdyang/p/3456258.html (c#) 销毁资源和释放内存https://www.cnblogs.com/Jessy/articles/2552839.html C# Finalize和Dispose的区别https://www.cnblogs.com/wuyuankun/p/4103620.html C#中标...转载 2019-10-14 18:39:53 · 1285 阅读 · 0 评论