Linux(二)—— Unix&Linux 的基本概念
Linux(二)—— Unix&Linux 的基本概念
计算机 = 主机(host)+ 终端(terminal)
主机 = 内核 + 实用工具
- 内核(kernel)
- 当计算机启动时,计算机要经历一系列动作,这些动作构成了引导过程。引导过程的最后一个动作是启动一个非常复杂的程序,该程序就被称为内核(Kernel)
- 内核的作用是控制计算机,提供基础服务,是操作系统的核心,主要分为单内核和微内核两种
- 单内核(monolithic kernel):自身可以完成所有事情,大多数早期 Unix 使用单内核设计,现在流行的单内核为 Linux kernel
- 微内核(micro kernel):只能完成最基本的任务,例如 Minix、macOS
- 实用工具
- 编辑器、编译器等等等
- Shell:命令行解释器,包括了用来组合命令的流程控制结构。除了在交互式提示符下输入命令外,用户还可以编写脚本。大多数shell都有一套共同的语法(基于Bourne shell)。
终端 = 输入设备 + 输出设备
最初,终端(terminal)和控制台(Console)都不是个人电脑的概念,而是多人共用的小型、中型、大型计算机上的概念。在计算机早期时代,个人无法承担高昂的费用,多个人通过终端同时使用一台主机,而控制台是管理员管理系统时使用的机柜,一般会直接附着在主机旁边。
字符终端
字符终端 (Character Terminal) 也叫文本终端 (Text Terminal),是只能接收和显示文本信息的终端。
早期人们使用价格低廉的电传打字机(Teletypewriter,tty)作为字符终端,所有输入结果都在纸带上打孔,最早型号为 Teletype ASR33(Automatic Send-Receive),后来由于电传打字机的使用过于普遍,以至于 tty 和终端成为同义词,终端(terminal) = tty = 命令的输入输出环境。
字符终端也分为 哑终端 (Dumb Terminal) 和所谓的 智能终端 (Intelligent Terminal),因为后者可以理解转义序列、定位光标和显示位置,比较聪明,而哑终端不行。
DEC 公司在 1978 年制造的VT100 终端,VT100 不仅是史上最流行的字符终端,更是成为了字符终端事实上的标准。
终端仿真器(Terminal Emulator)
模拟:Simulate,按照实现来实现,原理相同,行为相同
仿真:Emulate,保持外部行为,但内部原理已经改变
如今的终端,指的是使用软件都是对终端设备进行仿真,与主机进行交互的终端仿真器,在面对命令行 (CLI) 程序时,终端仿真器会「假装」成一个传统终端设备;而对于现代的图形接口,终端仿真器会「假装」成一个 GUI 程序。
一个终端模拟器的标准工作流程是这样的:
- 捕获你的键盘输入;
- 将输入发送给命令行程序(程序会认为这是从一个真正的终端设备输入的);
- 拿到命令行程序的输出结果(STDOUT 以及 STDERR);
- 调用图形接口(比如 X11),将输出结果渲染至显示器。
现代系统中, Linux 默认提供了 6 个虚拟控制台(virtual consoles)和一个图形界面来让用户登录,Unix 则提供了 8 个,它们是由操作系统内核直接提供的,而那些那些运行在图形界面上的终端模拟器则被叫做终端窗口 (Terminal Window)。
无论是字符终端还是图形终端的仿真,都对应着 Linux 上的 /dev/tty 设备,Unix&Linux 的多用户登陆就是通过不同的 /dev/tty 设备完成的,而设备的属性等信息都保存在其中。
CLI(Command Line Interface)类仿真设备有 VT100、VT220、Xterm等,使用
infocmp | less可以看到自己当前所仿真的终端设备型号。
而 infocmp 命令显示内容则基于 ncurses (free version of curses),存储着不同型号设备的配置信息,用于命令的执行
命令行界面 (CLI)、终端 (Terminal)、Shell、TTY,傻傻分不清楚?
Linux
The name “Linux” refers to any Unix system that uses the Linux kernel。
GNU/Linux 下的图形用户界面 GNOME 和 KDE,有时也被叫做「虚拟 shell」或「图形 shell」。
Linux 学习路径
暂缺
Linux 目录结构
FHS(英文:Filesystem Hierarchy Standard 中文:文件系统层次结构标准),多数 Linux 版本采用这种文件组织形式,FHS 定义了系统中每个区域的用途、所需要的最小构成的文件和目录同时还给出了例外处理与矛盾处理。
Linux 目录结构
暂缺
Linux 目录类型
暂缺
Linux(二)—— Unix&Linux 的基本概念的更多相关文章
- Linux(二) - Unix&Linux 基本概念
主机 = 内核 + 实用工具 内核(kernel) 当计算机启动时,计算机要经历一系列动作,这些动作构成了引导过程.引导过程的最后一个动作是启动一个非常复杂的程序,该程序就被称为内核(Kernel) ...
- Linux(一) - Unix&Linux 历史
Unix Unix 的诞生 Unix的历史可以追溯到20世纪60年代中期,当时麻省理工学院,AT&T,贝尔实验室和通用电气公司联合开发了一种名为Multics的操作系统,Multics 中存在 ...
- Linux vs Unix - Linux与Unix到底有什么不同?
来自:Linux迷链接:https://www.linuxmi.com/linux-vs-unix.html Linux和Unix这两个术语可以互换地用来指同一操作系统.这在很大程度上是由于他们惊人的 ...
- 【Linux】unix/Linux常用命令英文全称
英文全称解释更容易理解 知其然,更要知其所以然 man: Manual 意思是手册,可以用这个命令查询其他命令的用法. pwd:Print working directory 显示当前工作路径. su ...
- linux入门--Linux和UNIX的关系及区别
UNIX 与 Linux 之间的关系是一个很有意思的话题.在目前主流的服务器端操作系统中,UNIX 诞生于 20 世纪 60 年代末,Windows 诞生于 20 世纪 80 年代中期,Linux 诞 ...
- 1.3 Linux和UNIX的关系及区别(详解版)
UNIX 与 Linux 之间的关系是一个很有意思的话题.在目前主流的服务器端操作系统中,UNIX 诞生于 20 世纪 60 年代末,Windows 诞生于 20 世纪 80 年代中期,Linux 诞 ...
- 故事 --- Linux和UNIX之间的那些爱恨与情仇
Linux和UNIX具体有哪些关系及区别? UNIX 与 Linux 之间的关系是一个很有意思的话题.在目前主流的服务器端操作系统中,UNIX 诞生于 20 世纪 60 年代末,Windows 诞生于 ...
- 【Linux】 Linux编程规范&Linux 编程环境搭建
一.通过Samba映射网络驱动器 菜单栏-计算机-映射网络驱动器 English 菜单栏-Home -Easy access-Map as drive 编辑代码使用 Windows 编译 运行程序在 ...
- 《Unix/Linux日志分析与流量监控》书稿完成
<Unix/Linux日志分析与流量监控>书稿完成 近日,历时3年创作的75万字书稿已完成,本书紧紧围绕网络安全的主题,对各种Unix/Linux系统及网络服务日志进行了全面系统的讲解,从 ...
随机推荐
- idea上maven使用心得(三)——用pom.xml添加jar包
下面是如何使用maven,maven在idea里面得结构应该是这样: scr底下是main,java是存放web的.java文件 resource目录一般是存放数据库连接数据的,或者存各种资源文件,音 ...
- 关于ORACLE的SQL语句拼接、替换、截取、排序,联表等...~持续汇总~
先看一下所有的数据.这里全部为VARCHAR2(255). 字段拼接 在所有的性别后面加% 字段替换,把性别TPF_SEX去除百分号% 字段截取 字段截取+拼接 字段替换,这里把百分号%替换为空,也 ...
- Windows Server 2016-Hyper-V HNV 新增功能
本内容主要介绍了Hyper-V 网络虚拟化 (HNV) 功能在 Windows Server 2016 中的新增或更改内容,具体信息如下: HNV更新 功能中的功能 新的或改进 描述 可编程 Hype ...
- SQLServer之删除用户自定义数据库用户
删除用户自定义数据库用户注意事项 不能从数据库中删除拥有安全对象的用户. 必须先删除或转移安全对象的所有权,才能删除拥有这些安全对象的数据库用户. 不能删除 guest 用户,但可在除 master ...
- java使用SSH连接Linux系统
SSH连接linux系统使我们在开发项目中常用到的,现在留下来,做个记录 package com.log; import java.io.BufferedReader; import java.io. ...
- Spring的PropertyPlaceholderConfigurer强制使用默认值的坑
1.问题 dubbo client配置: <dubbo:reference id="channelCustomerClient" interface="com.gt ...
- Javascript高级编程学习笔记(95)—— WebGL(1) 类型化数组
WebGL webgl 是针对 canvas 的 3D上下文,与其它Web技术不同,WebGL并非是W3C制定的标准,而是由 Khronos Group 制定的. 类型化数组 WebGL所涉及的复杂运 ...
- 利用 vue-cli 构建一个 Vue 项目
一.项目初始构建 现在如果要构建一个 Vue 的项目,最方便的方式,莫过于使用官方的 vue-cli . 首先,咱们先来全局安装 vue-cli ,打开命令行工具,输入以下命令: $ npm inst ...
- nginx解决反向代理超时
最近在公司windows服务器部署nginx前端项目时 因为业务需求 有个有个接口数据量很大,请求时长在很大可能超过一分钟 然后一直遇到了504 Gateway Time-out 在网上查了很多资料都 ...
- 【重学计算机】机组D6章:中央处理器
1. CPU的组成与功能 2. 数据通路 概念:执行部件间传送信息的路径,分共享通路(总线)和专用通路 抽象模型:时钟驱动下,A --> 组合逻辑 --> B D触发器定时模型: 时钟触发 ...