[Be a Coding Plasterer] Components 1:get Basic Things
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的更多相关文章
- 胡喜:从 BASIC 到 basic ,蚂蚁金服技术要解决两个基本的计算问题
摘要: 揭开 BASIC College 神秘面纱,蚂蚁金服首次揭秘人才培养机制. 导读:5 月 6 日,蚂蚁金服副 CTO 胡喜在 2019 年 QCon 上做了<蚂蚁金服十五年技术架构演进之 ...
- [Java Plasterer] Java Components 3:Java Enum
Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket 豆瓣:BYSocket Reprint it anywhere u want. Written In The Font Whe ...
- Coding the Matrix (0):映射、复数和域
1. 非常好的 Python 教程 <深入 Python 3.0> 以及 IBM 开发社区的博客探索 Python. 2. 子集: s 是 S 的子集 >>>S = {2 ...
- 艾编程coding老师课堂笔记:SpringBoot源码深度解析
思想:有道无术,术尚可求,有术无道,止于术! Spring 开源框架,解决企业级开发的复杂性的问题,简化开发 AOP, IOC Spring 配置越来多,配置不方便管理! Javaweb---Serv ...
- Coding the Matrix (3):矩阵
1. 矩阵与映射 矩阵和映射包含两方面的关系: 简单:已知矩阵 M, 从向量 x 映射到 M * x. (注:矩阵与行向量的点乘) 稍微复杂:已知映射 x ->M * x, 求矩阵 M. 第一种 ...
- Coding the Matrix (2):向量空间
1. 线性组合 概念很简单: 当然,这里向量前面的系数都是标量. 2. Span 向量v1,v2,.... ,vn的所有线性组合构成的集合,称为v1,v2,... ,vn的张成(span).向量v1, ...
- Coding the Matrix (1):向量
1. list 画点 >>> from plotting import plot >>> L = [[2, 2], [3, 2], [1.75, 1], [2, 1 ...
- Craking the coding interview 面试题:完美随机洗牌
给定一个序列,随机打乱这个序列,新产生的序列和任意一个序列产生的可能性是一样的,就是所谓的完美随机洗牌. 看下面的运行结果: 上面第一列是原数列,下面一行是新产生的打乱的数列. 基本思想:如果n-1个 ...
- [Java 泥水匠] Java Components 之一:Java String (肯定有你不懂的)
作者:泥沙砖瓦浆木匠网站:http://blog.csdn.net/jeffli1993个人签名:打算起手不凡写出鸿篇巨作的人,往往坚持不了完成第一章节. 1.1 前言 说起String,大家最熟悉不 ...
随机推荐
- 爬取baidu的明星的名称及头像
#!/1111111111usr/bin/env python# -*- encoding: utf-8 -*-# Created on 2018-11-15 15:24:12# Project: d ...
- 别人的Linux私房菜(18)认识系统服务(daemon)
完成服务service的程序称为daemon.完成计划性的服务程序如crond是一个daemon. 早期的System V的init管理daemon操作中,系统内核首先调用init,然后init运行系 ...
- \usepackage{ulem}带下划线的问题解决
其实正文应该是斜体字的,但是有可能默认模板会导致斜体变下划线的问题,解决方法如下: \usepackage{ulem} 在 \documentclass[format=acmsmall, review ...
- SAP开发系统中开发和配置客户端请求号变更
假如102为开发客户端,800为配置客户端 正常操作,创建开发请求,应该在102客户端里去创建,但由于操作疏忽开发请求建在了800客户端,如何调整请求到102? 调整步骤:登陆102,SE09找到80 ...
- bzoj1038(半平面交)
#include<iostream> #include<cstring> #include<cmath> #include<cstdio> #inclu ...
- POJ - 3278 Catch That Cow bfs 线性
#include<stdio.h> #include<string.h> #include<algorithm> #include<queue> usi ...
- Python核心团队计划2020年停止支持Python2,NumPy宣布停止支持计划表
Python核心团队计划在2020年停止支持Python 2.NumPy项目自2010年以来一直支持Python 2和Python 3,并且发现支持Python 2对我们有限的资源增加了负担:因此,我 ...
- python xss相关的编码解码小脚本
1.功能分析: 实际工作中经常会遇到alert()之类的函数被防火墙过滤,而把alert()转化为ascii码放到String.fromCharCode()中就可以绕过,之前会一个一个查ascii表, ...
- JAVA对象和类
Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 重载 Java中的类 类可以看成是创建Java对象的模板. 通过下面一个简单的类来理解下Java中类的定 ...
- 小白看过来runtinme
RunTime 概述 RunTime消息机制 RunTime交换方法 RunTime消息转发 RunTime关联对象 RunTime实现字典与模型互转 1.RunTime 概述 我们在面试的时候,经常 ...