计算机
计算机是具有数据处理与逻辑运算的机器。
它有输入单元,输出单元,CPU 内部的控制单元,逻辑处理单元以及内存组成。
 
输入单元如鼠标键盘等输入设备;
 
输出单元如打印机,显示屏,等输出设备;
 
CPU (中央处理器,Central Processing Unit),CPU 内部含有微小指令集,可分为精简指令集(RISC)和复杂指令集(CISC)。这些指令集可以解析指令码从而让 CPU 干活,这也就意味着我们所用的程序软件都需要经过微指令集才能完成程序的功能,比如听歌打游戏等等。
既然 CPU 需要工作,那就有工作速度,又叫频率,频率指的是 CPU 每秒的工作次数,如 3.0GHz 即表示每秒工作 3.0 * 10^9 次。
 
内存,用来存放数据的地方,CPU 工作所需要的数据都是从内存中来的。
 (CPU 的频率很高,导致以这样的频率从内存中读数据的话,内存是远远跟不上的,所以又将 CPU 的频率分为外频和倍频,CPU 与外部组件如内存进行数据传输/运算的就用外频,而倍频就是 CPU 内部用来加速工作性能的倍数,即倍频 = 频率 / 外频)
 
内存可分为动态随机访问内存(Dynamic Random Access Memory, DRAM)和静态随机访问内存(Synamic Random Access Memory, SRAM)。
DRAM,只有在通电时才记录并且使用,断电后数据就消失了,所以又叫挥发性内存;
SRAM 的由来是因为 CPU 通过北桥从内存中读数据,那么如果比较常用的数据被事先放置到 CPU 内部就不需要再去北桥读数据了,这就是缓存 cache 的概念。前面知道 DRAM 是实现不了与 CPU 频率相同的,所以用 SRAM 来保存这部分数据。
 
[***@*** ~]$ cat /sys/devices/system/cpu/cpu0/cache/index0/size
32K
[***@*** ~]$ cat /sys/devices/system/cpu/cpu0/cache/index1/size
32K
[***@*** ~]$ cat /sys/devices/system/cpu/cpu0/cache/index2/size
256K
[***@*** ~]$ cat /sys/devices/system/cpu/cpu0/cache/index3/size
35840K

index 0 和 index 1 表示第一层缓存的 数据缓存和指令缓存,index2 表示第二层缓存,index3 表示第三层缓存。

 
 
硬盘,由许多盘片,机械手臂,磁头与主轴马达所组成。数据被写入到具有磁性物质的盘片上,实际运行时,主轴马达让盘片转动,然后机械手臂可伸展让磁头读取盘面上的数据。
硬盘的存储量可根据公式: header * cylinder * sector * 512 bytes 计算,sector 指盘片上的扇区,它是由圆心以放射状方式分割出的磁盘的最小存储单位,每个扇区大小固定为 512 bytes。扇区组成一个圆就称为磁道 Track。在多硬盘上,所有盘面上的同一个磁道可以组成一个柱面 Cylinder。所以上面的公式就理解为 header 数量 * 每个 header 负责的柱面数量 * 每个柱面所含有的扇区数量 * 扇区的容量。
 <硬盘的详细介绍可看这里>
 
 
主板,主板上面集成了一堆芯片组,主要分为两个桥接器北桥和南桥,北桥负责连接速度较快的 CPU,内存,显卡等,南桥负责连接速度较慢的设备,如硬盘,网卡等。
 
 
操作系统
计算机组装好了,但是由于它只认识 0 和 1, 所以要让它工作就得写汇编语言,翻译成机器码给计算机执行。这种方式的缺点是程序不能移植,换到其它硬件上就不能用了;太过复杂,需要了解硬件的功能函数,才能对应的写程序代码;等等。
 
基于此,操作系统就诞生了,它是一组程序,负责管理计算机的所有活动以及驱动系统中的所有硬件。
 
它由操作系统内核和系统调用层两部分组成。
操作系统内核负责管理计算机的所有硬件,内核程序放置到内存当中的区块是受保护的,并且开机后就一直常驻在内存中。
内核的主要功能有:
  • 系统调用接口(system call interface)
  • 程序管理(Process control)
  • 内存管理
  • 文件系统管理
  • 设备驱动(Device driver)
系统调用层,是一组开发接口,通过它使得开发人员不需要考虑内核的相关功能,直接调用开发接口即可开发。比如,写 C 程序语言只需要参考 C 程序语言的语法即可实现驱动内核来工作。 
 
 
计算机开机执行的第一个程序是 BIOS(Basic Input Output System),BIOS 会加载 CMOS 中的参数,并尝试调用存储设备中的开机程序,再进入到操作系统中,从而完成开机。
BIOS 是一套程序,它被写死到主板中的内存芯片中,这个内存芯片在不通电的情况下也能将数据记录下来,这块芯片叫做只读存储器(ROM,Read Only Mermory)。
CMOS 是一个芯片,上面记录着主板上的重要参数,包括系统时间,CPU 电压与频率,各项设备的 I/O 地址与 IRQ 等。
<操作系统加载过程可看这里>
 
 
Liunx
类似于 Windows 系统,Liunx 也是一个操作系统。
它的优点有:系统稳定,免费或少许免费,安全性/漏洞快速修补,多任务/多用户,网络功能强大等等,使得 Liunx 很适合用来做服务器的操作系统。
Liunx 版本: Liunx kernel 版本 + Liunx distribution。 Liunx distribution = Kernel + Softwares + Tools。
 
 
(完)

每天学五分钟 Liunx 000 | 计算机与 Liunx的更多相关文章

  1. 如何从40亿整数中找到不存在的一个 webservice Asp.Net Core 轻松学-10分钟使用EFCore连接MSSQL数据库 WPF实战案例-打印 RabbitMQ与.net core(五) topic类型 与 headers类型 的Exchange

    如何从40亿整数中找到不存在的一个 前言 给定一个最多包含40亿个随机排列的32位的顺序整数的顺序文件,找出一个不在文件中的32位整数.(在文件中至少确实一个这样的数-为什么?).在具有足够内存的情况 ...

  2. 零元学Expression Blend 4 - Chapter 42 五分钟快速完成扇形变圆形动画

    原文:零元学Expression Blend 4 - Chapter 42 五分钟快速完成扇形变圆形动画 零元学Expression Blend 4 - Chapter 42 五分钟快速完成扇形变圆形 ...

  3. 五分钟学Java:如何才能学好Java Web里这么多的技术

    原创声明 本文作者:黄小斜 转载请务必在文章开头注明出处和作者. 系列文章介绍 本文是<五分钟学Java>系列文章的一篇 本系列文章主要围绕Java程序员必须掌握的核心技能,结合我个人三年 ...

  4. 一门能让你五分钟学会的语言-Brainfuck

    看到标题,不出意外的话,你肯定开始骂我了:**标题党,什么编程语言五分钟就能学会? 其实我本来也是不相信的,但是学过了才知道这是真的. 1.Brainfuck 看到这个小标题,不要误会,我没有骂人. ...

  5. [分享] 史上最简单的封装教程,五分钟学会封装系统(以封装Windows 7为例)

    [分享] 史上最简单的封装教程,五分钟学会封装系统(以封装Windows 7为例) 踏雁寻花 发表于 2015-8-23 23:31:28 https://www.itsk.com/thread-35 ...

  6. 《sed的流艺术之一》-linux命令五分钟系列之二十一

    本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...

  7. C语言 · 上帝造题五分钟

    算法提高 上帝造题五分钟   时间限制:1.0s   内存限制:256.0MB      问题描述 第一分钟,上帝说:要有题.于是就有了L,Y,M,C 第二分钟,LYC说:要有向量.于是就有了长度为n ...

  8. 算法笔记_105:蓝桥杯练习 算法提高 上帝造题五分钟(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 问题描述 第一分钟,上帝说:要有题.于是就有了L,Y,M,C 第二分钟,LYC说:要有向量.于是就有了长度为n写满随机整数的向量 第三分钟,YUHC ...

  9. 五分钟搞定Linux容器

    [TechTarget中国原创] Linux容器针对特定工作负载提供了全新的灵活性与可能性.存在很多解决方案,但是没有一个解决方案能够像systemd容器那样进行快速部署.给我五分钟,本文将介绍如何使 ...

  10. 五分钟搞定 HTTPS 配置,二哥手把手教

    01.关于 FreeSSL.cn FreeSSL.cn 是一个免费提供 HTTPS 证书申请.HTTPS 证书管理和 HTTPS 证书到期提醒服务的网站,旨在推进 HTTPS 证书的普及与应用,简化证 ...

随机推荐

  1. v0.12.0-敏感词/脏词词标签能力进一步增强

    拓展阅读 敏感词工具实现思路 DFA 算法讲解 敏感词库优化流程 java 如何实现开箱即用的敏感词控台服务? 各大平台连敏感词库都没有的吗? v0.10.0-脏词分类标签初步支持 v0.11.0-敏 ...

  2. LIS和LCS算法分析

    LIS(最长上升子序列) 常规的解法就是动态规划. mx[ j ]表示长度为j的上升子序列最小的值a[i]; dp[ i ]表示前i个数的最长上升子序列长度多少. 1 for(int i=1;i< ...

  3. Rocketmq学习1——Rocketmq架构&消息存储&刷盘机制

    系列文章目录和关于我 一丶什么是Rocketmq RocketMQ是一款开源的分布式消息中间件,由阿里巴巴团队最初开发,并于2016年贡献给Apache软件基金会,后成为Apache顶级项目.Rock ...

  4. Sequelize的简单连接和使用

    Sequelize是一个基于Node.js的ORM框架 特点: 1.支持多种数据库:Sequelize支持多种关系型数据库,包括MySQL.PostgreSQL.SQLite和MSSQL等,适用于需要 ...

  5. Llama2-Chinese项目:2.2-大语言模型词表扩充

      因为原生LLaMA对中文的支持很弱,一个中文汉子往往被切分成多个token,因此需要对其进行中文词表扩展.思路通常是在中文语料库上训练一个中文tokenizer模型,然后将中文tokenizer与 ...

  6. 【有奖征文】WEB前端大作战,走在技术最前端!

    摘要:投稿分享你在前端领域的积累,秀出你的技术"肌肉",为自己,也为技术发声. 近几年大家对于WEB前端的关注度很高, 比如整体势头发展良好,各种技术百花齐放,人才稀缺, 随着互联 ...

  7. 云小课丨SA基线检查:给云服务来一次全面“体检”

    摘要:随着企业上云进程的加快,由于云服务配置不合理.不合规等引发的安全风险与日俱增.如果没有加以重视并做及时的诊断处置,将会对企业云上业务带来巨大的安全隐患. 本文分享自华为云社区<云小课丨安全 ...

  8. 高性能 Jsonpath 框架,Snack3 3.2.54 发布(支持 kotlin data 类反序化)

    Snack3,一个高性能的 JsonPath 框架 借鉴了 Javascript 所有变量由 var 申明,及 Xml dom 一切都是 Node 的设计.其下一切数据都以ONode表示,ONode也 ...

  9. Solon2 开发之IoC,三、注入或手动获取 Bean

    1.如何注入Bean? 先了解一下Bean生命周期的简化版: 运行构建函数 尝试字段注入(有时同步注入,没时订阅注入.不会有相互依赖而卡住的问题) @Init 函数(是在容器初始化完成后才执行) .. ...

  10. MAC zsh:no matches found

    jimmy@MacBook-Pro bin % wsdl2java http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asm ...