zoukankan      html  css  js  c++  java
  • 计算机和操作系统基础知识

    -----------------------siwuxie095

       

       

       

       

       

       

       

       

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

       

       

    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、六种开源协议的异同如下图所示:BSDApacheGPLLGPLMITMozilla

       

       

       

    参考链接:

       

    (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

       

       

       

       

       

       

       

       

    【made by siwuxie095】

  • 相关阅读:
    linux下FFmpeg编译生成ffplay
    linux下ffmpeg安装
    linux之x86裁剪移植---字符界面sdl开发入门
    Linux忘记开机密码怎么办?
    linux命令--ldconfig和ldd用法
    linux命令之 ifconfig
    Linuxshell脚本之if条件判断
    redis之django-redis
    深刻理解Python中的元类(metaclass)
    【Django错误】OSError: raw write() returned invalid length 14 (should have been between 0 and 7)
  • 原文地址:https://www.cnblogs.com/siwuxie095/p/9538583.html
Copyright © 2011-2022 走看看