[Be a Coding Plasterer] Components 1: get Basic Things, codingplasterer
Writer: BYSocket)
Weibo: BYSocket
Douban: BYSocket
Reprint it anywhere u want.
Written In The Font
I am writing at home. Today it is windy, but I am feeling isuitable and warm. Why the title is called 'Be a Coding Plasterer '? I think that a good computer programmer shold know something about Hardware and how the code runs with CPU andRAM. so when I am learning, I wanna say somthing about them after thinking.
Pieces:
1. Hello World
2. Software Framework
3. OS (Operating System)
Hello World
Hello World, its start of computer coding. every programmer likes it. so how 'Hello world' runs in computer and why its designed so. I wrote an article before, go to C ++ Hello, World! . Here what I think,
1. A simple code is not simple. Like a tree, start from the root, its a little complex in the body. 'dont let yourself stop learn'
2. Learning the basic things is so nice. 'Just a boy find ways to go home when being lost .'
After learning, some Questions in my head.
Q: IO chips, PCI, ISA... What are they?
Q: Runtime Library, Operating System Kernel .. What are they? How they work together?
..
Software Framework
In daily life when we wanna cross the river, what we want is just a bridge. how the same meaning use in the computer. long age, there are running problems in computer development. but after solving them, a saying is
'Any problem in computer science can be solved by another layer of indirection .'
A software need to call the system. And its very complex but interesting. There are using layers of indirections between them. I will give a picture about computer software architecture
OS (Operating System)
1. CPU
CPU nerver stops.
Multiprograming:
It is monitoring the cpu. when its useless, let it handle other things.
Time-Sharing System:
After a process running for some time, it lets the CPU handle others for some time. each has the opportunity to run for a period of time.
Mutil-tasking System:
All softwares run with processes. every process has its priority. each has the independent space. each gets the CPU by its priority. when its overtime, it pauses. its called 'preemptive '. CPU switches bewteen processes.
2. Device Driver
Device Driver is a part of OS, running with the OS Kernel.
Hard Disk:
Basic storage unit is Sector. Every sector has 512 Bytes. For example, one hard disk has 2 discs, every disc has 65536 tracks, every track has 1024 sectors. So
?
1 |
2 * 2 * 65536 * 1024 * 512 KB = 128 GB |
About CPU
CPU has some commands for I/O and others. Like, provides in ''out'' to read or write in hardware.
3. Memory
Memory, Like what in our head. We store everything in head. So the computer does.
Q: How the computer provides the limited physical memory to some programs? And we can see your problems: 1.no isolation of address room. 2. week efficiency of memoryusing 3. program running adress is not sure.
A:
1. using the Virtual Address to make the isolation of address. like the saying: 'Any problem in computer science can be solved by another layer of indirection. ', we solve it. every process has own Virtual Address and it means the process has a own Physical Address.
2. Segmentaion
3. Paging
Processes's virtual addresses have the mappings with the hard disk.
Think in Basic Things of Computer
Just like our life. From Life, Create Form Life, Service Life. Yes, Its computer. Thanks !!
Writer: BYSocket)
Weibo: BYSocket
Douban: BYSocket
Reprint it anywhere u want.