计算机基础
1.计算机系统
2.计算机硬件
定义
计算机(computer):俗称电脑,是一种能接受和存储信息,并按照存储在其内部的程序对海量数据进行自动、高速地处理,然后把处理结果输出的现代化智能电子设备。
发展历史
第一代计算机(1946-1957):电子管时代
第二代计算机(1958-1964):晶体管时代
第三代计算机(1965-1970):集成电路时代
第四代计算机(1971年以后):大规模集成电路时代
3.冯·诺依曼体系结构
冯·诺依曼理论的要点
1.数字计算机的数制采用二进制;(1byte(字节)=8bit(位))
2.计算机应该按照程序顺序执行;
3.计算机硬件由运算器、控制器、存储器、输入设备和输出设备五大部分组成。
4.摩尔定律
由英特尔(Intel)创始人之一戈登·摩尔于1965年提出,当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍。
5.计算机分类
6.操作系统
主要功能
· 硬件驱动 · 进程管理 · 内存管理
· 网络管理 · 安全管理 · 文件管理
OS分类
服务器OS: CentOS, Ubuntu,windows Server ,AIX
桌面OS:Windows 10, Mac OS ,Fedora
移动设备OS: Andriod, IOS,AliOS,HarmonyOS
7.操作系统相关概念
接口
interface,在计算机操作系统中指操作系统通过接口的方式,建立了用户与计算机硬件的沟通方式。用户通过调用操作系统的接口来使用计算机的各种计算服务。
ABI(Application Binary Interface):应用程序二进制接口,ABI描述了应用程序与OS之间的底层接口,允许编译好的目标代码在使用兼容ABI的系统中无需修改就能运行
运行程序格式:
· Windows:PE(portable executable)格式,dill(dynamic link library),lib
· Linux: ELF(Excutable and Linking Format)格式,so(shared object),a
API(Application Programming interface),应用程序开发接口,API定义了源代码和库之间的接口,因此同样的源代码可以在支持这个API的任何系统中编译。
用户态和内核态
计算机硬件资源都是操作系统内核进行管理的,目前操作系统都是基于多任务、多用户的。如果每个用户进程都可以随便访问操作系统内核的模块,改变状态,那整个操作系统的稳定性、安全性都大大降低
为了将内核程序与用户程序隔离开,在硬件层面上提供了一次机制,将程序执行的状态分为了不同的级别,从0到3,数字越小,访问级别越高。0代表内核态,在该特权级别下,所有内存上的数据都是可见
的,可访问的。3代表用户态,在这个特权级下,程序只能访问一部分的内存区域,只能执行一些限定的指令。
用户和内核空间
只能访问一部分的内存区域,只能执行一些限定的指令。
用户和内核空间
用户空间:User space 用户程序的运行空间。为了安全,它们是隔离的,即使用户的程序崩溃,内核也不受影响 只能执行简单的运算,不能直接调用系统资源,必须通过系统接口( system call),才能向内核发出指令 内核空间:Kernel space 是 Linux 内核的运行空间 可以执行任意命令,调用系统的一切资源。