您的位置:首页 > 理论基础

1.2计算机及操作系统基础知识1

2016-04-19 00:00 302 查看
UNIX编程艺术 讲述UNIX历史的
system V:简称SysV(5版本)
很多商业公司拿到sys v的copy,并且以之为蓝本,建立自己的商业发行版
比较流行的有:
IBM: 硬件平台 Power, PowerPC, 系统是 AIX
伯克利大学Bill Joy 等创立的 SUN: Sparc(硬件体系架构), SunOS --> Solaris, Open Solaris
HP:cpu架构 Alpha, HP-UX

CPU常见平台:
摩托罗拉
m68000, m68k
IBM
Power
IBM,摩托罗拉,apple组合开发
PowerPC
sun公司
Sparc, UltraSparc
惠普
Alpha
Intel
x86
x86_64
amd64
MIPS
ARM:知本主义 只卖技术.

二进制代码:cpu对应所支持的指令(对应执行的指令)
add: --> 汇编器(翻译器) --> 翻译成对应二进制格式的指令
芯片:汇编语言 也称为 微码语言
微码编程:

C语言 由编译器处理得到机器能执行的指令
预处理、编译、汇编、链接

调用:库 某些公用的程序,自己是不能执行的,只能被调用 .dll 动态连接库 .so 共享对象
基本库:也称为标准库

DOS (单用户、单任务系统)--> Windows (基于dos上来运行) 常因资源竞争而蓝屏

DEC公司: 两种小型机 VAX: 研发vms系统 , PDP 后来要使用 UNIX,vms就不使用
微软收了vms
WindowsNT(基于vms内核的)

微软和IBM,研发了 OS/2,后微软退出 --> 微软购买了OS/2,修改后得到Vista(微软用vms来修改OS/2得到)

BSD-->SysV 争论
BSD最后一次发行版:BSD Lite 重新包装BSD发行版,后解散了
后来被各自由软件维护后 BSD系列系统
FreeBSD --> MAC OS, ios
NetBSD
OpenBSD 安全的系统

由于UNIX商业后,授权费用很贵,就开发了一个Minix

MIT: Stallman倡导自由, Freedom
口号称为:GNU: Gnu is Not Unix. 自由软件运行到UNIX上
需要遵循GPL协定: General Public License 通用公共许可证
emacs, vi, bash 但是这些程序都是需要运行在UNIX上

Linus: 仿照minix,根据UNIX,写了一个Linux (是操作系统的核心)

包装发行Linux GNU/Linux

GNU/Linux C语言写的

源代码 --> 机器代码
编译器
主版本号 次版本号 发行号
版本号:major.minor.release
2.1.4, 3.10.18

发行版:把GNU软件编译好二进制程序在加上Linux内核

搜索 linux timeline 查看发行时间线路
发行商:
slackware
二次分支:s.u.s.E
Debian
Ubuntu
Redhat

面向个人应用的发行版到9后 redhat 9 --> 捐赠给 Fedora

服务器版 RHEL: RedHat Enterprise Linux 3 每18个月一个新版本

redhat: GPL, GNU

社区版的Linux CentOS:
Community ENTerprise OS
建议使用debian 桌面版

LFS: Linux From Scratch 从零构建Linux
书:
任何两个层次的不协调都可以通过添加中间层来处理协调关系

应用程序
A P I syscall(系统调用)
Linux 系 统 把底层硬件的不同做完全封装,并提供给程序员开发接口
硬件(cpu 、内存、硬盘等)
预处理:把宏替换、头文件包含 编译:把源代码转化成目标代码
汇编: 汇编成硬件能够识别的硬件指令 链接:
X86的cpu是有特权级别的,cpu是由4个环,把指令分成4类,应用程序只能使用最外层的ring3
一般指令在ring 3,最内层是ring 0,ring 0只有内核有权限使用 。
应用程序是直接运行在cpu上的,但是受控于内核。
应用程序在内存中使用也是如此,应用程序是看不到内存的,因为内存是虚拟出来的,只有操作系统才能看到

API:Application Programming Interface 应用程序接口
ABI:Application Binary Interface 应用程序二进制接口 操作系统提供的运行环境(不同操作系统是一般是不兼容的)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: