当前位置:网站首页>Data storage in memory & loading into memory to make the program run
Data storage in memory & loading into memory to make the program run
2022-07-06 16:04:00 【Programming fish 66】
The information that a computer has to process is diverse , Like numbers 、 written words 、 Symbol 、 graphics 、 Audio 、 Video etc. , This information is different in people's eyes . But for computers , They are all the same in memory , All in binary form .
To learn programming , You have to understand binary , It is the basis of computer processing data .
Memory module is a very precise component , It contains hundreds of millions of electronic components , They are very small , At the nanometer level . These components , It's actually a circuit ; The voltage of the circuit will change , Or 0V, Or 5V, There are only two voltages .5V It's power on , use 1 To express ,0V It's a power outage , use 0 To express . therefore , One component has 2 States ,0 perhaps 1.
We use the circuit to control the power on and off of these components , There will be a lot of 0、1 The combination of . for example ,8 There are 28=256 Different combinations ,16 There are 216=65536 Different combinations . Although a component can only represent 2 A numerical , But a lot of values can be represented by a combination of many .
We can give each combination a specific meaning , for example , It can be used separately 1101000、00011100、11111111
To express C、 language 、 said , This a few word , So combine 1101000 00011100 11111111 It means ”C Language “
In general, we don't use components one by one , It's going to be 8 A component is a unit , Even if it means a very small number , for example 1, Also needed 8 individual , That is to say 00000001.
1 The components are called 1 The bit (Bit) or 1 position ,8 The components are called 1 byte (Byte), that 16 A component is 2Byte,32 One is 4Byte, And so on :
8×1024 A component is 1024Byte, Shorthand for 1KB;
8×1024×1024 A component is 1024KB, Shorthand for 1MB;
8×1024×1024×1024 A component is 1024MB, Shorthand for 1GB.
Now? , You know, 1GB How many components do you have in your memory . What we usually call the file size KB、 How many? MB, That's what it means .
Unit conversion :
- 1Byte = 8 Bit
- 1KB = 1024Byte = 210Byte
- 1MB = 1024KB = 220Byte
- 1GB = 1024MB = 230Byte
- 1TB = 1024GB = 240Byte
- 1PB = 1024TB = 250Byte
- 1EB = 1024PB = 260Byte
When we usually use computers , Usually it's only designed to KB、MB、GB、TB These units ,PB and EB These two advanced units are generally used in the process of big data processing .
You see , There is no... In memory abc Such characters , either gif、jpg Such a picture , Only 0 and 1 Two figures , Computers only know 0 and 1. therefore , Computers use binary , Not the familiar decimal system , Data written to memory , Will be converted to 0 and 1 The combination of .
Programmer's humor
To impress , Finally, let's see a joke .
The programmer A:“ cronies , I'm short of money recently , Borrow some money ?”
The programmer B:“ Yes , How many do you want? ?”
The programmer A:“ A thousand lines No ?”
The programmer B:“ Who are we with ! I'll round it up for you ,1024, Take it .”
Do you understand the joke ? Please choose the right answer .
A) Because he sympathizes with programmers A, Give him more 24 block
B) This programmer can't count , Maybe it's too poor and hungry
C) This programmer intentionally , Because his dictatorial wife rules 1024 Is an integer
D) It's like 100 yes 10 To the power of an integer ,1024 yes 2 Integer power of , For programmers, it's integers
Study with the webmaster , Every day there is progress .
Easy to understand , Explain profound theories in simple language , An article only talks about one point of knowledge .
The article is not abstruse , There's no need to delve into , On the bus 、 On the subway 、 You can read in the toilet , Go up anytime, anywhere .
The article does not cover code , Do not burn brain cells , Everyone can learn .
When you decide to join C Language /C++ Programming learning base :828339809, You have surpassed 90% The programmer !
Load memory , Let the program run
If you have installed QQ, You want to chat with your friends , Double click QQ Icon , open QQ Software , Enter account number and password , Then log in .
that ,QQ How did it work ?
First , One thing you need to be clear about , You installed QQ The software is stored on the hard disk .
double-click QQ Icon , The operating system will know that you want to run this software , It will find your installation in the hard disk QQ Software , Put the data ( The software installed is essentially a collection of a lot of data ) Copy to memory . Yes ! Copy to memory !QQ Not running on a hard disk , It's running in memory .
Why? ? Because the reading and writing speed of memory is much faster than that of hard disk .
For read and write speed , Memory > Solid state disk > Mechanical drive . Mechanical hard disk drives the disk to rotate by motor to read and write data , The memory module reads and writes data through circuits , The speed of the motor must not have the transmission speed of electricity ( Almost the speed of light ) fast . Although solid state drives also read and write data through circuits , But because it is different from the control mode of memory , It's not as fast as memory .
therefore , Whether it's running QQ Or editor Word file , First copy the data on the hard disk to the memory , To make CPU To deal with it , This process is called loading memory (Load into Memory). This process requires a special program ( Software ), This program is called loader (Loader).
CPU Dealing directly with memory , It reads the data in memory for processing , And save the results to memory . If you need to save to hard disk , Will copy the data in memory to the hard disk .
for example , open Word file , Enter some text , Although what we see is different , But the document in the hard disk has not changed , The newly added text is temporarily saved to memory ,Ctrl+S Will be saved to the hard disk . Because data will be lost after memory power failure , So if you finish editing Word If you forget to save the document, you shut down , So you'll never get it back .
Virtual memory
If we run more programs , It takes up more space than memory ( Memory module ) Capacity . For example, the memory capacity of a computer is 2G, But it's running 10 Procedures , this 10 Programs occupy a total of 3G Space , That means you need to copy from your hard drive 3G Data to memory , It's obviously impossible .
operating system (Operating System, abbreviation OS) Solved this problem for us : When the space required for program operation is greater than the memory capacity , The temporarily unused data in memory will be written back to the hard disk ; Read the data from the hard disk when you need it , And write another part of the unused data to the hard disk . such , There will be some space in the hard disk to store temporarily unused data in memory . This part of space is called virtual memory (Virtual Memory).
3G - 2G = 1G, The above situation needs to be allocated on the hard disk 1G Virtual memory .
The reading and writing speed of hard disk is much slower than that of memory , It takes a lot of time to exchange data repeatedly , So if your memory is too small , It will seriously affect the running speed of the computer , It will even appear ” stuck “ The phenomenon , Even if CPU powerful , It won't make a big difference . If economic conditions permit , It is recommended to upgrade the memory to 4G, stay win7、win8、win10 The software will run smoothly under .
More about memory , Everyone is learning 《C Language introduction tutorial 》 after , Please read on 《C Language and memory 》, I'm sure you'll have an epiphany .
summary :CPU Read data directly from memory , After processing, write the result to memory .
chart 1:CPU、 Memory 、 The relationship between hard disk and motherboard
Study with the webmaster , Every day there is progress .
Easy to understand , Explain profound theories in simple language , An article only talks about one point of knowledge .
The article is not abstruse , There's no need to delve into , On the bus 、 On the subway 、 You can read in the toilet , Go up anytime, anywhere .
The article does not cover code , Do not burn brain cells , Everyone can learn .
When you decide to join C Language /C++ Programming learning base :828339809, You have surpassed 90% The programmer !
边栏推荐
- China chart recorder market trend report, technology dynamic innovation and market forecast
- [exercise -10] unread messages
- STM32 learning record: LED light flashes (register version)
- Auto.js入门
- C语言是低级和高级的分水岭
- Opencv learning log 12 binarization of Otsu method
- New to redis
- [exercise-4] (UVA 11988) broken keyboard = = (linked list)
- [exercise-6] (PTA) divide and conquer
- C语言学习笔记
猜你喜欢
Differential (one-dimensional, two-dimensional, three-dimensional) Blue Bridge Cup three body attack
渗透测试 ( 5 ) --- 扫描之王 nmap、渗透测试工具实战技巧合集
b站 实时弹幕和历史弹幕 Protobuf 格式解析
渗透测试 2 --- XSS、CSRF、文件上传、文件包含、反序列化漏洞
Penetration test (3) -- Metasploit framework (MSF)
Information security - threat detection engine - common rule engine base performance comparison
7-1 懂的都懂 (20 分)
Determine the Photo Position
frida hook so层、protobuf 数据解析
信息安全-安全编排自动化与响应 (SOAR) 技术解析
随机推荐
F - Birthday Cake(山东省赛)
Alice and Bob (2021牛客暑期多校训练营1)
Opencv learning log 30 -- histogram equalization
[exercise-6] (UVA 725) division = = violence
Optimization method of path problem before dynamic planning
Record of force deduction and question brushing
渗透测试 ( 8 ) --- Burp Suite Pro 官方文档
Opencv learning log 31 -- background difference
Shell Scripting
[exercise-7] (UVA 10976) fractions again?! (fraction split)
Common configuration files of SSM framework
7-1 懂的都懂 (20 分)
Penetration test (3) -- Metasploit framework (MSF)
VS2019初步使用
Nodejs crawler
TCP的三次握手与四次挥手
Flink 使用之 CEP
If you want to apply for a programmer, your resume should be written like this [essence summary]
Opencv learning log 33 Gaussian mean filtering
[exercise-9] Zombie's Treasury test