02,计算机组成与操作系统的理解、对程序的理解、OS发展史、Linux常见版本 以及 一些杂项...
这里马哥讲了好多,能听懂,但需要记得东西好少,不过我还是 按照 我 对 计算机 的 理解 画了 一张 图, 不一定 准确 , 但是 差不多 把,
计算机 底层 是 由 运算器、控制器、存储器、输入设备、输出设备 这 五大部件 组成 的
其中 运算器 和 控制器 是 在 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常见版本 以及 一些杂项...相关推荐
- 深入理解计算机系统---程序运行过程
一个简单的C程序从编写到执行输出hello world!其中间经历的是诸多处理过程,而不仅仅是显示黑屏上的几个字符.这个过程透露着计算机系统的运行本质. 个人对该过程进行了一些分析和总结,如果有不对的 ...
- 计算机专业中经典书籍(程序猿和大学生必读)
2楼 : JAVA篇 此篇收录:.<Java 2 核心技术>.2.<Java编程语言>.3.<Effective Java>.4.<Java解惑>.5. ...
- 计算机开机后操作系统的加载过程
0 介绍 最近开始学习操作系统知识,那么对于学习操作系统来说,遇到的第一个问题便是在计算机开机后,它是如何开始工作的.下面是计算机加载操作系统的流程. 1 加载 当我们打开计算机电源时, 第一步:计算 ...
- 自由口通信模式下计算机读写PLC存储区的程序
自由口通信模式下计算机读写PLC存储区的程序 2008-8-20 8:51:00 来源: 摘 要:本文介绍了在自由口通信模式下,用计算机读写S7-200 PLC存储区内相邻的多个字节数据的通信程序设计 ...
- 读书笔记系列--《理解专业程序员》tips
理解专业程序员,给您带来大师的tips *"什么东西是绿的,有轮子,而且长在房子的周围"?* *"猜不出来,答案呢"?* *"是草,轮子是我瞎说的&q ...
- Scratch3.0——助力新进程序员理解程序(案例一、画画的蝴蝶)
Scratch3.0--助力新进程序员理解程序(案例一.画画的蝴蝶) 前言 一般来说,针对6-18岁的少年儿童开展的编程教育,现在,最常见的形式是线上和线下模式相结合的课外培训. 这里我用作让大朋友们 ...
- Scratch3.0——助力新进程序员理解程序(案例八、等差数列计算1)
Scratch3.0--助力新进程序员理解程序(案例八.等差数列计算1) 前言 一般来说,针对6-18岁的少年儿童开展的编程教育,现在,最常见的形式是线上和线下模式相结合的课外培训. 这里我用作让大朋 ...
- Scratch3.0——助力新进程序员理解程序(案例九、等差数列2)
Scratch3.0--助力新进程序员理解程序(案例九.等差数列2) 前言 一般来说,针对6-18岁的少年儿童开展的编程教育,现在,最常见的形式是线上和线下模式相结合的课外培训. 这里我用作让大朋友们 ...
- Scratch3.0——助力新进程序员理解程序(一、基础使用与运动)
Scratch3.0--助力新进程序员理解程序(一.基础使用与运动) 目录 Scratch3.0--助力新进程序员理解程序(一.基础使用与运动) 前言 环境 下载地址 安装说明 1.菜单栏 2.功能栏 ...
最新文章
- 应对海量并发请求,首席布道师谈微服务的应用架构设计
- 中公教育计算机网络,计算机考试题库:计算机网络模拟练习题(2)
- 几种string格式化输出的方式
- 机器人学 —— 机器人视觉(极几何)
- 教你简单理解分布式与传统单体架构的区别
- mybatis 中 Example 的使用 :条件查询、排序、分页(三种分页方式 : RowBounds、PageHelpler 、limit )
- es6分享——变量的解构赋值
- hadoop tyarn冲突_Doris与Hadoop yarn混合部署遇到的坑
- [Linux/Ubuntu] vi/vim 使用方法讲解
- 项目管理-项目启动会
- WPS文字常用快捷键大全
- MPB:遗传发育所刘永鑫等-易扩增子:易用、可重复和跨平台的扩增子分析流程...
- 同步机制应遵循的规则
- 淘宝API接口(item_history_price-获取商品历史价格信息)
- python中 jsonchema 与 shema 效率比较
- 关于在13个球中寻找不同的问题解答
- 福禄克FLUKE DTX-1800和DSX2-8000系列电缆认证分析仪如何导出测试报告?
- jenkins 报错 code=exited, status=127
- cmd怎么查看python路径_从cmd如何查找python的安装路径?
- 网络营销为传统零售企业增效
热门文章
- java camel_Apache Camel建立基于消息的应用
- 好用的企业邮箱服务都有哪些好处
- 离散型调节变量——该如何设定模型?
- node websoket 实现 聊天室demo
- Git 提交 vue 教程
- Linux运行python报错:Could not connect to any X display.
- win7台式机光驱计算机里不显示器,Win7系统下我的电脑中没有光驱图标如何解决...
- iOS 文件预览(PDF、Excel、World等)之QuickLook框架
- 只需几次点击即可创建一个Astra和LearnDash在线教育网站 – 简单快捷!
- 自制腾讯视频去除水印Chrome插件!厉害吧!