linux系统组成及初识

277 阅读3分钟

计算机系统

1.1 冯诺依曼体系结构

计算机的五大组成部件以及相互之间的关系:

  • CPU:运算器控制器寄存器缓存
  • 存储器内存,RAM(Random Access Memory)
  • Input:下指令,提供数据等;
  • Output:输出数据加工的结果;

冯诺依曼体系结构

1.2 常见单位

  • 10的12次方 T 二进制 2^40 1024G
  • 10的 9次方 G 二进制 2^30 1024M
  • 10的 6次方 M 二进制 2^20 1024K
  • 10的 3次方 K 二进制 2^10=1024
  • 10的 2次方 百
  • 10的 1次方 十
  • 10的-1次方 分 d
  • 10的-2次方 厘 c
  • 10的-3次方 m 毫
  • 10的-6次方 μ 微
  • 10的-9次方 n 纳

1.3 linux的组成定义

​ linux = kernal + unix实用工具(包含至少一个与用户交互的接口shell程序)

1.4 操作系统提供的功能

  • 硬件驱动
  • 进程管理
  • 内存管理
  • 安全管理
  • 网络管理
  • 文件系统
  • ...

1.5 程序管理

1.5.1 程序的组成部分

  • 二进制文件
  • 库文件
  • 配置文件
  • 帮助文件

1.5.2 程序包管理工具

  • 程序文件打包成一个或有限几个文件
  • 安装
  • 卸载(根据安装时记录的文件对应表来删除)
  • 查询

1.6 终端 Terminal

1.6.1 用户界面

  • GUI

    • GNome
    • KDE
  • CLI

    • bash
    • zsh
    • csh
    • tcsh

1.6.2 远程链接

ssh协议:secure shell

ss -tnl 查看系统是否监听于tcp协议的22号端口;

1.6.3 终端设备

  • 物理终端(控制台 console)
  • 虚拟终端 (6个 使用Ctrl+Alt+F[1-6]切换)
  • 图形终端 (在某一虚拟终端接口运行命令:startx &)
  • 伪终端 (pty)

Linux的哲学思想之一:一切皆文件,表现之一:硬件设备也通过文件表示。

  • 物理终端:/dev/console
  • 虚拟终端:/dev/tty# [1,6]
  • 串行终端:/dev/ttyS#
  • 伪终端:/dev/pts/#

1.7 Linux的哲学思想

  • 一切皆文件

    把几乎所有资源统统抽象为文件形式;包括硬件设备,甚至通信接口等;

  • 由众多功能单一的程序组成,一个程序只做一件事,并且做好。组合小程序完成复杂任务

  • 尽量避免跟用户交互

    目标:易于以编程的方式实现自动化任务;

  • 使用文本文件保存配置信息

1.8 文件

文件定义:文件是存储空间存储的一段流式数据,对数据可以做到按名存取。

basename /PATH/TO/SOMEFILE 获取路径中的基名 SOMEFILE
dirname /PATH/TO/SOMEFILE 获取路径中的路径 /PATH/TO

1.9 用户态和内核态

计算机硬件资源都是操作系统内核进行管理的,目前操作系统都是基于多任务、多用户的。如果每个用 户进程都可以随便访问操作系统内核的模块,改变状态,那整个操作系统的稳定性、安全性都大大降低 为了将内核程序与用户程序隔离开,在硬件层面上提供了一次机制,将程序执行的状态分为了不同的级 别,从0到3,数字越小,访问级别越高。0代表内核态,在该特权级别下,所有内存上的数据都是可见 的,可访问的。3代表用户态,在这个特权级下,程序只能访问一部分的内存区域,只能执行一些限定 的指令。

程序执行状态