计算机和操作系统基础知识

 

 

1、操作系统(Operating System,简称 OS),是管理计算机硬件与

软件资源的计算机程序,同时也是计算机系统的内核与基石

 

操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、

控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统

也提供一个让用户与系统交互的操作界面

 

 

 

 

 

2、操作系统位于底层硬件与用户之间,是两者沟通的桥梁。用户可以

通过操作系统的用户界面,输入命令。操作系统则对命令进行解释,驱

动硬件设备,实现用户要求。以现代标准而言,一个标准PC的操作系统

应该提供以下的功能:

 

(1)进程管理(Processing management)

 

(2)内存管理(Memory management)

 

(3)文件系统(File system)

 

(4)网络通信(Networking)

 

(5)安全机制(Security)

 

(6)用户界面(User interface)

 

(7)驱动程序(Device drivers)

 

 

 

 

 

3、指令集架构(Instruction Set Architecture,简称 ISA),又称指令

集 或 指令集体系,是计算机体系结构中与程序设计有关的部分,包含了

基本数据类型,指令集,寄存器,寻址模式,存储体系,中断,异常处理

以及外部 I/O

 

指令集架构包含一系列的 opcode 即操作码(机器语言),以及由特定

处理器执行的基本命令

 

 

 

 

 

4、指令是由指令集架构定义的单个的 CPU 操作。在更广泛的意义上,

指令可以是任何可执行程序的元素的表述,如:字节码

 

指令分为特殊指令和普通指令,只有操作系统才能运行特殊指令(也称

特权指令),应用程序只能运行普通指令。应用程序要想运行特殊指令,

必须通过系统调用

 

 

 

 

 

5、两种调用:

 

(1)系统调用(System Call)

 

(2)库调用(Library Call)

 

 

 

 

 

6、两种用户界面(User Interface,简称 UI):

 

(1)图形用户界面(Graphical User Interface,简称 GUI)

 

(2)命令行界面(Command Line Interface,简称 CLI)

 

 

 

 

 

7、两种接口:

 

(1)应用二进制接口(Application Binary Interface,简称 ABI),它描述

了应用程序(或者其他类型)和操作系统之间或其他应用程序的低级接口

 

(2)应用编程接口(Application Programming Interface,简称 API),

它就是软件系统不同组成部分衔接的约定,即 是操作系统 或 库提供给应用

程序调用使用的代码

 

 

ABI 不同于 API,API 定义了源代码和库之间的接口,因此同样的代码可以

在支持这个 API 的任何系统中编译,然而 ABI 允许编译好的目标代码在使

用兼容 ABI 的系统中无需改动就能运行

 

 

 

 

 

8、操作系统分类

 

(1)Windows

 

 

(2)Unix-like(类 Unix)

 

1)Linux

 

2)Minix

 

3)macOS(macOS 的由来:从 Mac OS X,改为 OS X,再改为 macOS。

截止 2018/08/26,再未变动)

 

 

(3)Unix

 

1)Unix System(截止 2018/05/31,最新版是 Unix System V Release 4,

包含 AIX、Solaris、HP-UX 等)

 

2)BSD Unix (分为三种:FreeBSD、NetBSD、OpenBSD)

 

「简单来说,分为 System(嫡出) 和 BSD(庶出)」

 

 

 

附:

 

关于 macOS 到底是 Unix 还是 Unix-like,这个问题一直存在争议,不过争论

这个意义不大,这里姑且认为 macOS 是 Unix-like,参考链接:

 

(a)​​https://zh.wikipedia.org/zh-cn/Darwin_%28%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%29​

 

(b)​​https://zh.wikipedia.org/wiki/MacOS#Unix%E8%AA%8D%E8%AD%89​

 

(c)​​https://blog.hoppinglife.com/2014/02/mac-os-x%E4%B8%8D%E6%98%AFunix/​

 

 

 

 

 

9、程序运行空间:

 

(1)内核空间(Kernel Space):内核、核心扩充、驱动程序运行在内核空间上

 

(2)用户空间(User Space):应用程序运行在用户空间上

 

「运行空间(Space)也可以理解为运行模式(Mode)」

 

 

 

 

 

10、可移植操作系统接口(Portable Operating System Interface,

简称 POSIX),是 IEEE 为要在各种 UNIX 操作系统上运行软件,而

定义 API 的一系列互相关联的标准的总称

 

「最后一个 X 表明了其对 Unix API 的传承」

 

 

 

 

 

11、两种格式:

 

(1)可移植可执行(Portable Executable),也就是 PE 格式,是一种用

于可执行文件、目标文件和动态链接库的文件格式,主要使用在 Windows

操作系统上

 

PE文件格式主要用于EXE文件、DLL文件、.sys(驱动程序)和其他文件

类型

 

(2)可执行和可链接格式(Executable and Linkable Format),也就是

 ELF 格式,是一种用于可执行文件、目标文件、共享库和核心转储的标准文

件格式

 

不同操作系统上应用程序和库的格式

 


 

应用程序格式

Windows

PE格式(Portable Executable)

DLL(Dynamic Link Library),动态链接库

Linux/Unix

ELF格式(Executable and Linkable Format)

SO(Shared Object)

 

 

 

 

 

12、计算机的五大组成:

 

运算器、控制器、存储器、输入设备、输出设备

 

 

 

 

 

13、六种开源协议的异同如下图所示:BSD、Apache、GPL、LGPL、MIT、Mozilla

 

计算机和操作系统基础知识_System

 

 

参考链接:


 

(4)​​https://zhuanlan.zhihu.com/p/38409620​

 

(5)​​https://zhuanlan.zhihu.com/p/31881162​

 

(6)​​http://www.gnu.org/licenses/license-list.html​