这里马哥讲了好多,能听懂,但需要记得东西好少,不过我还是 按照 我 对 计算机 的 理解 画了 一张 图, 不一定 准确 , 但是 差不多 把,

计算机 底层 是 由 运算器、控制器、存储器、输入设备、输出设备 这 五大部件 组成 的

其中 运算器 和 控制器 是 在 cpu 中 的, 运算器 是 负责 计算 的, 控制器 是 负责 控制 程序 流程 的,也 负责 控制 存储器 中 的 数据,

北桥 是 一个 高速 I/O 设备, 他 通常 用来 连接 内存,硬盘,显卡 等 需要 高速 I/O 的 设备, 内存 中 的 数据 也是 通关 北桥 读入 cpu 缓存 中 的, 再 通过 cpu 缓存 读入 寄存器, 南桥 是 一个 低速 I/O 设备, 通常 用于 连接 鼠标,键盘 什么 的, 他是 连接 在 北桥 上 的(以前 不是。。)

硬件 上层 就是 操作系统 了, 操作系统 负责 操控 硬件, 操作系统 也 提供 了 一些 最简单 的 编程接口, 库 就是 有 这些 最简单 的 编程接口 组合 而成 的, 他 可以 完成 一些 更 复杂 的 操作, 库 也叫做 应用编程接口, 里面 提供 了 许多 API, 应用 程序 是 通过 库调用 或者 直接调用 来 完成 相关 操作 的,shell 也 属于 一种 应用程序。。


说一下 cpu 的 指令级别 把,

x86系列 cpu 指令 分为 4个 级别, 分别 叫做 RING0、RING1、RING2、RING3, 其中 RING1,RING2 因 历史 的 原因 一直 没有 使用, 环0 叫做 特权模式, 环0中 的 指令 只有 操作系统 可以 调用, 这些 一般 都是 控制 内存, 硬盘, 之类 的 指令, 这些 指令 不能 让 程序 直接 执行, 以免 有 恶意程序 去 破坏系统,这是 对 cpu 的 一种 保护,  而 环3 的 命令 是 任何人 都 可以 直接 调用 的 命令, 可以 作为 用户接口 的。


关于编程:

计算机 语言 分为 解释型语言 和 编译型语言

解释型语言: 源码不是一次性编译成二进制文件,而是由解释器对中间代码进行解释运行

ypthon, shell, ruby

编译型语言: 把 源码 一次性 编译 成 二进制 文件, 直接 通过 cpu 进行 执行

c, c++, java, c#

程序编译的过程:

编辑 --> 编译 --> 链接 --> 运行

不过 有 这种 过程 比较 麻烦, 随意 出现 了 一些 集成 开发 环境, 叫做 IDE 开发 环境, 如 VS, Codeblock 之类 的 都 属于 集成 开发 环境


OS发展史,以及Linux 版本:

1、 1956年 有 GE,Bell,MIT 共同研发出Multics操作系统

2、 1969年 Bell实验室 首先 退出 了 Multics 的 开发,

3、 1970年 Beel 实验室 中 的 Ken Thompson为了能够让自己开发 的 游戏 星球大战 正常 运行, 在一台 PDP-7 上 研发 出 一个 简易 的 操作系统, 被 同事 戏称 为 Unics

4、 1970年, GE退出 Multics 的 研发

5、 1973年,Ken Thonpson 和 Dennis Ritchie 觉得 用 汇编 语言 编写 的 操作系统 可移植性 差, 于是 他们 改写 当时 的 BCPL 语言, 也就 是 现在 的 C 语言, 然后 用 C语言 来 开发 一个 具有 可移植性 操作系统, 并 命名为 Unix

6、 1974年, Ken Thonpson 和 Dennis Ritchie 联合 发表 论文, 从此 Unix 开始 流行, 不过 因 当时 AT&T 受 美国 反垄断 法 的 制裁, Bell 不能 出售 这个 操作系统, 而且 还 得 把 系统 免费 提供 给 各个 研究机构。

7、 1977年, BSD正式成立,他是以 研究 Unix 系统 为 目的 的 一个 组织, 不过 他 把 这个 系统 拿来 卖钱 了, 这也 让 Bell 实验室 很 不爽。 也 为此 与 BSD 打了 长达 10 年 的 口水战

8、 1980年, 个人pc兴起,当时IBM公司急需一个个人pc的操作系统,微软Bill Gates 以 5w 美元 从 西雅图的一位程序编制者Tim Paterson手中 卖了个 操作系统 QDOS, 之后 经过 改写 之后 命名 为 DOS 以 授权 的 方式 供给 IBM, 其 每台 电脑 的 授权 价格 为5美元。

9、 1983年, 苹果公司 开始 研发 有 图形界面 的 操作系统, 与此同时, 微软 也通过 各种 手段 从 苹果公司 哪里 拿到 一份 操作系统 源码, 之后 经过 修改 之后 以 DOS为 内核 研发 出 windows, 而 苹果 也 研发出 基于 Unix 内核 的 Mac OS

10、 1991 年, Linus 仿照 minix 在 一台 386sx学习兼容 机 上 研发 Linux内核, 并 把 内核 发布 到 互联网 上, 遵守 GNU协议。这 也 引起 了 GNU 这个 自有 软件 组织 的 注意, 这时 的 GNU急需 一个 自己 的 操作系统 内核, 于是 嗯哼~~, 他俩 一拍即合 了。, 这也 促成 了 现在 的 linux,也叫做GNU/Linux。

11、 1993 年, Linux 1.0 正式 发布。并 应用 与 生产 工作 中


Linux常见发行版:

RedHat:比较稳定的版本,适合服务器。

Fedora:RedHat把其个人版捐赠给了Fedora,Fedora上会实验一些新软件,如果稳定会装到RedHat上

SUSE: 另一个比较 流行 的 Linux版本,

Debian: 比较流行的 Linux版本,这个版本给用户的权限比较大,深受Linux高手的喜欢

Ubuntu: Debian 的 二次发行版

Mint: Ubuntu 的 二次发行版

Bt: 最流行的的***版,里面集成了许多***工具

CentOS:相当于RedHat的复刻版,因RedHat是开源的,所以RedHat出什么,CentOS就跟着编译什么。,不过CentOS是 免费 的, 但 也 因此 不提供 任何 服务。

Gentoo:这个是个比较变态的版本,他里面的所有程序都需要手动编译。

LFS: 这个不应该称之为发行版了,他是一个文档,教你自己组装操作系统的


杂项:

常见 cpu

CPU:X86, X86-64, Power, PowerPC, Alpha, 安腾, UltraSparc, ARM, MIPS, M68000

Linux内核:www.kernel.org

转载于:https://blog.51cto.com/vrgfff/1566126

02,计算机组成与操作系统的理解、对程序的理解、OS发展史、Linux常见版本 以及 一些杂项...相关推荐

  1. 深入理解计算机系统---程序运行过程

    一个简单的C程序从编写到执行输出hello world!其中间经历的是诸多处理过程,而不仅仅是显示黑屏上的几个字符.这个过程透露着计算机系统的运行本质. 个人对该过程进行了一些分析和总结,如果有不对的 ...

  2. 计算机专业中经典书籍(程序猿和大学生必读)

    2楼 : JAVA篇 此篇收录:.<Java 2 核心技术>.2.<Java编程语言>.3.<Effective Java>.4.<Java解惑>.5. ...

  3. 计算机开机后操作系统的加载过程

    0 介绍 最近开始学习操作系统知识,那么对于学习操作系统来说,遇到的第一个问题便是在计算机开机后,它是如何开始工作的.下面是计算机加载操作系统的流程. 1 加载 当我们打开计算机电源时, 第一步:计算 ...

  4. 自由口通信模式下计算机读写PLC存储区的程序

    自由口通信模式下计算机读写PLC存储区的程序 2008-8-20 8:51:00 来源: 摘 要:本文介绍了在自由口通信模式下,用计算机读写S7-200 PLC存储区内相邻的多个字节数据的通信程序设计 ...

  5. 读书笔记系列--《理解专业程序员》tips

    理解专业程序员,给您带来大师的tips *"什么东西是绿的,有轮子,而且长在房子的周围"?* *"猜不出来,答案呢"?* *"是草,轮子是我瞎说的&q ...

  6. Scratch3.0——助力新进程序员理解程序(案例一、画画的蝴蝶)

    Scratch3.0--助力新进程序员理解程序(案例一.画画的蝴蝶) 前言 一般来说,针对6-18岁的少年儿童开展的编程教育,现在,最常见的形式是线上和线下模式相结合的课外培训. 这里我用作让大朋友们 ...

  7. Scratch3.0——助力新进程序员理解程序(案例八、等差数列计算1)

    Scratch3.0--助力新进程序员理解程序(案例八.等差数列计算1) 前言 一般来说,针对6-18岁的少年儿童开展的编程教育,现在,最常见的形式是线上和线下模式相结合的课外培训. 这里我用作让大朋 ...

  8. Scratch3.0——助力新进程序员理解程序(案例九、等差数列2)

    Scratch3.0--助力新进程序员理解程序(案例九.等差数列2) 前言 一般来说,针对6-18岁的少年儿童开展的编程教育,现在,最常见的形式是线上和线下模式相结合的课外培训. 这里我用作让大朋友们 ...

  9. Scratch3.0——助力新进程序员理解程序(一、基础使用与运动)

    Scratch3.0--助力新进程序员理解程序(一.基础使用与运动) 目录 Scratch3.0--助力新进程序员理解程序(一.基础使用与运动) 前言 环境 下载地址 安装说明 1.菜单栏 2.功能栏 ...

最新文章

  1. 应对海量并发请求,首席布道师谈微服务的应用架构设计
  2. 中公教育计算机网络,计算机考试题库:计算机网络模拟练习题(2)
  3. 几种string格式化输出的方式
  4. 机器人学 —— 机器人视觉(极几何)
  5. 教你简单理解分布式与传统单体架构的区别
  6. mybatis 中 Example 的使用 :条件查询、排序、分页(三种分页方式 : RowBounds、PageHelpler 、limit )
  7. es6分享——变量的解构赋值
  8. hadoop tyarn冲突_Doris与Hadoop yarn混合部署遇到的坑
  9. [Linux/Ubuntu] vi/vim 使用方法讲解
  10. 项目管理-项目启动会
  11. WPS文字常用快捷键大全
  12. MPB:遗传发育所刘永鑫等-易扩增子:易用、可重复和跨平台的扩增子分析流程...
  13. 同步机制应遵循的规则
  14. 淘宝API接口(item_history_price-获取商品历史价格信息)
  15. python中 jsonchema 与 shema 效率比较
  16. 关于在13个球中寻找不同的问题解答
  17. 福禄克FLUKE DTX-1800和DSX2-8000系列电缆认证分析仪如何导出测试报告?
  18. jenkins 报错 code=exited, status=127
  19. cmd怎么查看python路径_从cmd如何查找python的安装路径?
  20. 网络营销为传统零售企业增效

热门文章

  1. java camel_Apache Camel建立基于消息的应用
  2. 好用的企业邮箱服务都有哪些好处
  3. 离散型调节变量——该如何设定模型?
  4. node websoket 实现 聊天室demo
  5. Git 提交 vue 教程
  6. Linux运行python报错:Could not connect to any X display.
  7. win7台式机光驱计算机里不显示器,Win7系统下我的电脑中没有光驱图标如何解决...
  8. iOS 文件预览(PDF、Excel、World等)之QuickLook框架
  9. 只需几次点击即可创建一个Astra和LearnDash在线教育网站 – 简单快捷!
  10. 自制腾讯视频去除水印Chrome插件!厉害吧!