1、操作系统(OperatingSystem,简称OS),是管理计算机硬件与
软件资源的计算机程序,同时也是计算机系统的内核与基石
操作系统须要处理如管理与配置显存、决定系统资源供需的优先顺序、
控制输入与输出设备、操作网路与管理文件系统等基本事务。操作系统
也提供一个让用户与系统交互的操作界面
2、操作系统坐落底层硬件与用户之间,是三者沟通的桥梁。用户可以
通过操作系统的用户界面,输入命令。操作系统则对命令进行解释,驱
动硬件设备,实现用户要求。以现代标准而言,一个标准PC的操作系统
应当提供以下的功能:
(1)进程管理(Processingmanagement)
(2)显存管理(Memorymanagement)
(3)文件系统(Filesystem)
(4)网路通讯(Networking)
(5)安全机制(Security)
(6)用户界面(Userinterface)
(7)驱动程序(Devicedrivers)
3、指令集构架(InstructionSetArchitecture,简称ISA),又称指令
集或指令集体系,是计算机体系结构中与程序设计有关的部份,包含了
基本数据类型,指令集,寄存器,轮询模式,储存体系,中断,异常处理
以及外部I/O
指令集构架包含一系列的opcode即操作码(机器语言),以及由特定
处理器执行的基本命令
4、指令是由指令集构架定义的单个的CPU操作。在更广泛的意义上,
指令可以是任何可执行程序的元素的叙述,如:字节码
指令分为特殊指令和普通指令,只有操作系统能够运行特殊指令(俗称
特权指令)linux内核,应用程序只能运行普通指令。应用程序要想运行特殊指令,
必须通过系统调用
5、两种调用:
(1)系统调用(SystemCall)
(2)库调用(LibraryCall)
6、两种用户界面(UserInterface,简称UI):
(1)图形用户界面(GraphicalUserInterface,简称GUI)
(2)命令行界面(CommandLineInterface,简称CLI)
7、两种插口:
(1)应用二补码插口(ApplicationBinaryInterface,简称ABI),它描述
了应用程序(或则其他类型)和操作系统之间或其他应用程序的低级插口
(2)应用编程插口(ApplicationProgrammingInterface,简称API),
它就是软件系统不同组成部份衔接的约定,即是操作系统或库提供给应用
程序调用使用的代码
ABI不同于API,API定义了源代码和库之间的插口,因而同样的代码可以
在支持这个API的任何系统中编译,但是ABI容许编译好的目标代码在使
用兼容ABI的系统中无需改动能够运行
8、操作系统分类
(1)Windows
(2)Unix-like(类Unix)
1)Linux
2)Minix
3)macOS(macOS的来历:从MacOSXlinux系统命令,改为OSX,再改为macOS。
截至2018/08/26,再未变动)
(3)Unix
1)UnixSystem(截至2018/05/31,最新版是UnixSystemVRelease4,
包含AIX、Solaris、HP-UX等)
2)BSDUnix(分为三种:FreeBSD、NetBSD、OpenBSD)
「简单来说,分为System(庶子)和BSD(庶子)」
附:
关于macOS究竟是Unix还是Unix-like,这个问题仍然存在争议unix操作系统设计,不过争辩
这个意义不大,这儿暂且觉得macOS是Unix-like,参考链接:
(a)%28%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%29
(b)#Unix%E8%AA%8D%E8%AD%89
(c)%E4%B8%8D%E6%98%AFunix/
9、程序运行空间:
(1)内核空间(KernelSpace):内核、核心扩展、驱动程序运行在内核空间上
(2)用户空间(UserSpace):应用程序运行在用户空间上
「运行空间(Space)也可以理解为运行模式(Mode)」
10、可移植操作系统插口(PortableOperatingSystemInterface,
简称POSIX),是IEEE为要在各类UNIX操作系统上运行软件,而
定义API的一系列互相关联的标准的统称
「最后一个X表明了其对UnixAPI的弘扬」
11、两种格式:
(1)可移植可执行(PortableExecutable),也就是PE格式,是一种用
于可执行文件、目标文件和动态链接库的文件格式,主要使用在Windows
操作系统上
PE文件格式主要用于EXE文件、DLL文件、.sys(驱动程序)和其他文件
类型
(2)可执行和可链接格式(ExecutableandLinkableFormat),也就是
ELF格式unix操作系统设计,是一种用于可执行文件、目标文件、共享库和核心轮询的标准文
件格式
不同操作系统上应用程序和库的格式
应用程序格式
库
Windows
PE格式(PortableExecutable)
DLL(DynamicLinkLibrary),动态链接库
Linux/Unix
ELF格式(ExecutableandLinkableFormat)
SO(SharedObject)
12、计算机的五大组成:
运算器、控制器、存储器、输入设备、输出设备
13、六种开源合同的优缺如右图所示:BSD、Apache、GPL、LGPL、MIT、Mozilla
参考链接:
(1)
(2)
(3)
(4)
(5)
(6)