Writer:BYSocket(泥沙砖瓦浆木匠)

微博:BYSocket

豆瓣: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 should 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 the 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 learning’

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 many 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 many 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 many 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 the computer.Thanks!!

Writer:BYSocket(泥沙砖瓦浆木匠)

微博:BYSocket

豆瓣:BYSocket

Reprint it anywhere u want.

[Be a Coding Plasterer] Components 1:get Basic Things的更多相关文章

  1. 胡喜:从 BASIC 到 basic ,蚂蚁金服技术要解决两个基本的计算问题

    摘要: 揭开 BASIC College 神秘面纱,蚂蚁金服首次揭秘人才培养机制. 导读:5 月 6 日,蚂蚁金服副 CTO 胡喜在 2019 年 QCon 上做了<蚂蚁金服十五年技术架构演进之 ...

  2. [Java Plasterer] Java Components 3:Java Enum

    Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket 豆瓣:BYSocket Reprint it anywhere u want. Written In The Font Whe ...

  3. Coding the Matrix (0):映射、复数和域

    1. 非常好的 Python 教程 <深入 Python 3.0> 以及 IBM 开发社区的博客探索 Python. 2. 子集: s 是 S 的子集 >>>S = {2 ...

  4. 艾编程coding老师课堂笔记:SpringBoot源码深度解析

    思想:有道无术,术尚可求,有术无道,止于术! Spring 开源框架,解决企业级开发的复杂性的问题,简化开发 AOP, IOC Spring 配置越来多,配置不方便管理! Javaweb---Serv ...

  5. Coding the Matrix (3):矩阵

    1. 矩阵与映射 矩阵和映射包含两方面的关系: 简单:已知矩阵 M, 从向量 x 映射到 M * x. (注:矩阵与行向量的点乘) 稍微复杂:已知映射 x ->M * x, 求矩阵 M. 第一种 ...

  6. Coding the Matrix (2):向量空间

    1. 线性组合 概念很简单: 当然,这里向量前面的系数都是标量. 2. Span 向量v1,v2,.... ,vn的所有线性组合构成的集合,称为v1,v2,... ,vn的张成(span).向量v1, ...

  7. Coding the Matrix (1):向量

    1. list 画点 >>> from plotting import plot >>> L = [[2, 2], [3, 2], [1.75, 1], [2, 1 ...

  8. Craking the coding interview 面试题:完美随机洗牌

    给定一个序列,随机打乱这个序列,新产生的序列和任意一个序列产生的可能性是一样的,就是所谓的完美随机洗牌. 看下面的运行结果: 上面第一列是原数列,下面一行是新产生的打乱的数列. 基本思想:如果n-1个 ...

  9. [Java 泥水匠] Java Components 之一:Java String (肯定有你不懂的)

    作者:泥沙砖瓦浆木匠网站:http://blog.csdn.net/jeffli1993个人签名:打算起手不凡写出鸿篇巨作的人,往往坚持不了完成第一章节. 1.1 前言 说起String,大家最熟悉不 ...

随机推荐

  1. 循环调用dll库的界面时,首次正常,再次无响应

    消息循环错误: 在为使用CPaintManagerUI::MessageLoop()的情况下退出,但却发送了PostQuitMessage(0).

  2. jmeter性能测试入门

    1.jmeter介绍2.jmeter变量环境部署3.jmeter目录结构4.jmeter  Gui模式5.jmeter 非Gui模式6.jmeter 录制完显示乱码设置7.jmeter 结果分析 1. ...

  3. SAP开发系统中开发和配置客户端请求号变更

    假如102为开发客户端,800为配置客户端 正常操作,创建开发请求,应该在102客户端里去创建,但由于操作疏忽开发请求建在了800客户端,如何调整请求到102? 调整步骤:登陆102,SE09找到80 ...

  4. 2019浙大校赛--A--Thanks, TuSimple!(简单模拟题)

    这题前三段都是一堆吹爆赞助商的屁话,正式题目在图片下边,一个简单模拟题. 题目大意: 有n个男生,m个女生在进行舞会,其中一部分男生祥和比自己矮的女生跳舞,一部分男生想和比自己高的女生跳舞,一部分女生 ...

  5. spring mvc 扩展 标签解析

    spring mvc 标签解析 InterceptorsBeanDefinitionParser http://www.cnblogs.com/fangjian0423/p/springMVC-int ...

  6. Eclipse项目里面看源码和文档

    Eclipse项目里面看源码 1.新建项目列表 2.进入struts2-core-2.3.20.jar,双击之后,看不到源码 3.右键struts2-core-2.3.20.jar,选择propert ...

  7. @Slf4j注解实现日志输出

    自己写日志的时候,肯定需要: private final Logger logger = LoggerFactory.getLogger(LoggerTest.class); 每次写新的类,就需要重新 ...

  8. Tinkoff Challenge - Final Round (Codeforces Round #414, rated, Div. 1 + Div. 2)

    A: 思路:就是找b,c之前有多个s[i] 代码: #include<stdio.h>#define ll long longusing namespace std;ll a,b,c;in ...

  9. Batch_Size 详解

    Batch_Size(批尺寸)是机器学习中一个重要参数,涉及诸多矛盾,下面逐一展开. 首先,为什么需要有 Batch_Size 这个参数? Batch 的选择,首先决定的是下降的方向.如果数据集比较小 ...

  10. Java 动态字节码技术

    对 Debug 的好奇 初学 Java 时,我对 IDEA 的 Debug 非常好奇,不止是它能查看断点的上下文环境,更神奇的是我可以在断点处使用它的 Evaluate 功能直接执行某些命令,进行一些 ...