linux学习笔记一

試著忘記壹切 提交于 2020-03-27 09:00:13


1.X86计算机体系是冯-诺伊曼体系,包括现在很多智能设备。
2.计算机主要由CPU(运算器和控制器),存储设备,输入输出设备。
3.运算器提供运算能力,但是只是二进制运算
控制器是协调各部件
4.组件之间的连接 以及和存储的连接 是通过总线(bus)
5.总线分为 控制总线 数据总线和地址总线
6.CPU指令集 分为特权指令和普通指令
CPU物理上分为4个环,最中心的是环0,依次外为环1,环2,环3
特权指令就是在环0上,普通指令在环3上
只有操作系统才有权限调用特殊指令
7.从底层到高的语言分别是
机器语言----汇编语言----高级语言
8.为什么要有操作系统?
生产厂商众多,所生产的硬件规格和接口也各自不同,而操作系统的作用就是将底层不统一的规格接口,向上统一成一个标准的规格和接口。
操作系统 Operating System 简写OS
9.编程层次:
硬件规格
系统调用
库调用
10.什么是程序运行?
该程序占据了CPU一部分性能,然后逐条自上向下的运行代码
11.用户接口
图形用户接口 GUI
命令行接口 CLI
用户接口程序:用户通过这个程序,调用接口

     接口格式 ABI
     应用编程接口  API

12.CPU的架构类型:X86 X64 ARM M68000 POWER
13.操作系统有
Windows
Linux
Unix
GNU组织发起 软件自由运动
GNU:宣传的口号或者说意图 GNU
这个组织制定了一个GPL协定 (免费)
宣言开源免费的GNU组织,却没有应该有的操作系统,后来的Linux解决了GNU的尴尬
14.开发操作系统的程序员,一定是面向硬件规格进行开发,开发难度大,所以操作系统的更新换代会慢的多
而基于操作系统的系统调用开发,相对简单,因为操作系统已经把底层硬件隐藏,向上提供统一和易理解的接口
当然还有基于库调用的开发,原理是将操作系统提供的接口再次封装成库,调用库完成开发
15.应用程序可以直接调用运行普通指令,当应用程序要调用特殊指令时,会交由操作系统进行系统调用。此时,是操作系统在运行,得到结果后,返回给应用程序。
16.程序运行有两个模式
用户模式(也叫用户空间) user space
内核模式(也叫内核空间) system space
15中的现象体现了这两个模式
17.现代操作系统都是多用户多进程
18.在操作系统上,都有库,C库(也叫系统库)
在Windows中,可运行程序格式是 .exe 库文件格式是 .dll
在Linux中, 可运行程序格式是 elf 库文件格式是 so (全称shared object ) 每个程序员都可以调用,共享对象,减少内存资源的浪费
19.程序=指令+数据
指令是CPU指令,不可修改,只读
数据 可读写
程序=算法 + 数据结构
库调用:系统调用,允许被调用的程序
被调用 不修改,只读代码
20.编程语言
汇编语言
(微弱编程 )系统中某些硬件相关的特有代码,驱动程序程序员
高级语言(C C++)
系统级应用,驱动程序
(例如MySQL)
高级语言
Java python PHP
应用程序

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!