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

    技术2022-07-10  131

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

     

     

    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_(操作系统)

     

    (b)https://zh.wikipedia.org/wiki/MacOS#Unix認證

     

    (c)https://blog.hoppinglife.com/2014/02/mac-os-x不是unix/

     

     

     

     

     

    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

     

     

     

    参考链接:

     

    (1)https://www.cnblogs.com/Vito2008/p/4806677.html

     

    (2)https://blog.csdn.net/hemeinvyiqiluoben/article/details/79259808

     

    (3)https://blog.csdn.net/spiritring/article/details/5486801

     

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

     

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

     

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

    Processed: 0.011, SQL: 9