[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,大家最熟悉不 ...
随机推荐
- mybatis递归查询
<!--mybatis递归查询--><resultMap id="recursionMenuMap" type="AgentMenu" ext ...
- 用Python对html进行编码
原地址:https://stackoverflow.com/questions/275174/how-do-i-perform-html-decoding-encoding-using-python- ...
- JavaScript基础视频教程总结(091-100章)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 【慕课网实战】四、以慕课网日志分析为例 进入大数据 Spark SQL 的世界
文本文件进行统计分析:id, name, age, city1001,zhangsan,45,beijing1002,lisi,35,shanghai1003,wangwu,29,tianjin... ...
- kali 日志
MAC协议安全攻防 kali 攻击 输入 macof -i eth0 -i 选择网卡 防御 使用交换机的安全特性 Port Security DCRS 需要开启 mac地址表学习使用cpu控制 mac ...
- Monitor类:Object synchronization method was called from an unsynchronized block of code.
最近,在维护以前老系统的时候,发现了这样一个错误:Object synchronization method was called from an unsynchronized block of co ...
- AngularJS 关于ng-model和ng-bind还有{{}}
What's the difference between ng-model and ng-bind ng-bind has one-way data binding ($scope --> v ...
- 如何封装使用api形式调用的vue组件
在实际开发中一般有两种封装vue组件的方法:一种就是常用的的通过props父组件传值给子组件的方法: 子组件 父组件: 还有一种就是通过调用api的形式,下面例子是本人在实际项目中封装的一个自定义图标 ...
- Docker基础知识介绍
本节内容 1. Docker概述 2. Docker的安装 3. Docker基本使用 4. Docker相关命令汇总 5. Docker概念理解 一 Docker概述 Docker是什么 ...
- [转] OpenStack — nova image-create, under the hood
I was trying to understand what kind of image nova image-create creates. It's not entirely obvious f ...