计算机
计算机是具有数据处理与逻辑运算的机器。
它有输入单元,输出单元,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. Mybatis出现Caused by: net.sf.jsqlparser.parser.ParseException: ....异常

    今天在开发项目中遇到了一个奇怪的异常,记录一下把! 异常信息如下(截取了主要的部分) Caused by: net.sf.jsqlparser.parser.ParseException: Encou ...

  2. ElasticSearch之cat trained model API

    命令样例如下: curl -X GET "https://localhost:9200/_cat/ml/trained_models?v=true&pretty" --ca ...

  3. 从零玩转第三方登录之WeChat公众号扫码关注登陆 -wechatgzh

    title: 从零玩转第三方登录之WeChat公众号扫码关注登陆 date: 2022-09-27 22:46:53.362 updated: 2023-03-30 13:28:41.359 url: ...

  4. [研究]SpringBoot-MybatisPlus-Dynamic(多数据源)

    SpringBoot-MybatisPlus-Dynamic(多数据源) 前言 ​ 基于工作上班累死了...打开自己电脑 不知道干些啥 就康康 PL 网站康康 更新了啥 ​ 咦~~~还挺多 看到了多数 ...

  5. Asp .Net Core 集成 FluentValidation 强类型验证规则库

    目录 入门程序 安装 案例:登录 验证器 内置验证器 自定义验证器 编写自定义验证器 可重复使用的属性验证器 本地化 DI 自动验证 官网:https://docs.fluentvalidation. ...

  6. Python——第五章:Traceback模块

    traceback 模块提供了在程序中处理和分析异常时的工具,帮助开发人员更好地理解程序出现问题的原因. 使用 traceback.format_exc() 函数可以获取当前异常的堆栈信息.可以把错误 ...

  7. 快速入门Mybatis完成基本CURD(注解实现)

    一.什么是Mybatis? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射. MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集. MyB ...

  8. 记一次 MySQL timestamp 精度问题的排查 → 过程有点曲折

    开心一刻 下午正准备出门,跟正刷着手机的老妈打个招呼 我:妈,今晚我跟朋友在外面吃,就不在家吃了 老妈拿着手机跟我说道:你看这叫朋友骗缅北去了,tm血都抽干了,多危险 我:那是他不行,你看要是吴京去了 ...

  9. 第十一部分_Shell脚本之正则表达式

    正则表达式 1. 正则表达式是什么? 正则表达式(Regular Expression.regex或regexp,缩写为RE),也译为正规表示法.常规表示法,是一种字符模式,用于在查找过程中匹配指定的 ...

  10. 云图说 | 通过Helm模板快速部署中间件应用

    摘要:通过全容器化Helm模板,快速部署中间件应用. 云容器引擎基于Kubernetes Helm标准的模板提供统一的资源管理与调度,高效地实现了模板的快速部署与后期管理,大幅简化了Kubernete ...