一、基本概念

计算机的组成单元:运算器、控制器、存储器、输出设备、输入设备五个单元。(如图)

  • 运算器:主要负责程序的运算和逻辑判断
  • 控制器:主要协调各周边器件与各单元间的工作
  • 存储器:主要存放当前正在执行的数据和程序

    其中运算器和控制器组合为中央处理器(CPU),CPU读取的数据从存储器获取,并且处理完毕的数据也必须先存放到存储器里。

    CPU内部有指令集,CPU通过指令集的分类分为:精简指令集系统和复杂指令集系统

  • 精简指令集(RISC):指令精简、执行时间短、执行效能佳、处理复杂任务需要多个指令。
  • 复杂指令集(CISC):指令复杂、执行时间长、单条指令可以处理较为复杂的任务。
  • 操作系统(operating system,OS):是一组程序,主要用于管理计算机的所有活动和驱动系统中的所有硬件。
  • 内核(kernel): 管控硬件及提供相关功能,提供合理的计算机系统资源分配,提供程序管理、内存管理、文件系统管理等功能。Linux内核 https://www.kernel.org/

  • 内核功能:进程管理、内存管理、文件系统、网络功能、硬件驱动、安全机制
  • 系统调用(system call):又称为系统呼叫,提供用户程序和内核的接口。
  • shell:人机交互接口,是一种程序。shell可分为GUI(图形界面shell)和CLI(命令行shell)

    GUI(graphic user interface):Gnome C语音开发;KDE C++开发; xface 轻量级图形界面

    CUI(command line interface):bash sh csh zsh ksh tcsh

    查看Linux当前使用的shell:[[email protected] ~]# echo $SHELL    /bin/bash

    查看Linux可用的shell:[[email protected] ~]# cat /etc/shells

  • 驱动程序:操作系统提供接口给厂商来制作硬件的驱动程序,要使用新硬件,必须安装厂商的相应的驱动程序。
  • 应用程序:是参考操作系统提供的开发接口所开发的的软件,这些软件可以让用户操作,以达到某些计算机的功能利用。

Linux的历史简介:

  • 1960年代初期,麻省理工学院(MIT)发展了“兼容分时系统(compatible time-sharing system,CTSS)",可以提供数个终端联入主机,来利用主机的资源进行运算工作。
  • 1965年前后,由贝尔实验室(Bell)、麻省理工学院(MIT)及通用电气(GE)共同发起了Multics癿计划,一次来达成提供300个以上的终端机联机使用的目标。
  • 1969年,Ken Thompson 以汇编语言写出了一组核心程序,同时包括一些核心工具程序,以及一个小小的文件系统。这个就是Unix的原型。
  • 1973年,Unix正式诞生,Ritchie等人以C语言写出第一个正式的Unix核心。
  • 1977年,重要的UNIX分支——BSD的诞生,BSD(Berkeley software distribution)是UNIX很重要的一个分支,Sun公司就是以BSD发展的核心进行自己的商业UNIX版本的发展,后来可以安装在x86硬件架构上面的FreeBSD就是以BSD改版而来。
  • 1979年,重要的System V架构与版权宣告。在1979年,AT&T推出system V 第七版UNIX,这一版最重要的特色是可以支持x86架构的个人计算机系统,也就是说system V是可以在个人计算机上进行安装和运行,同时在这个版本上,AT&T特别提到了“不可对学生提供原始码”的严格限制,导致了很多的商业纠纷。
  • 1984年,x86架构的Minix操作系统诞生,Richard Mathew Stallman发起GNU计划并成立自由软件基金会(FSF,free software foundation)。
  • 1988年,图形接口XFree86计划,XFree86就是 Xwindow system + free + x86的整合名称。这个XFree86的GUI界面在Linux核心1.0版本在1994放出时,整合于Linux系统中。
  • 1991年,Linus Torvalds在BBS上,宣告了一个小小的核心程序,从此开始了Linux的不平凡的路程。
  • 1994年,发布了Linux 1.0 核心正式版。

因为Linux早期都是由黑客工程师所开发维护的,所以并没有考虑到一般使用者的能力,为了让使用者能够接触到Linux,于是很多的商业公司或非盈利团队,就将Linux kernel与可运行软件整合起来,加上自己的工具程序,这个工具程序可以让用户以光盘/DVD或通过网络直接安装/管理Linux系统。这个“Linux kernel + software +tools的可完全安装”的东西,我们称之为Linux distribution。

Linux的基本原则:1)由目的单一的小程序组成,组成的程序完成复杂任务 2)一切皆文件 3)尽量避免捕获用户接口 4)配置文件保存为纯文本格式

Linux终端:物理终端、虚拟终端、模拟终端

虚拟终端(terminal):由mingetty程序产生,使用ctrl+alt+(F1-F6) 进行终端切换

模拟终端:指使用SSH(secure shell 使用tcp 22端口)通过网络连接到Linux

查看当前是哪个终端:[[email protected] ~]# tty   /dev/tty2 (虚拟终端2) /dev/pts/1 (模拟终端1)

Linux CLI接口:#——root ;$——普通用户

命令格式:命令   选项   参数

选项: 短选项 -  ,多个选项可以组合 -a -b = -ab

长选项 --

参数:命令的作用对象

su(switch user):用户切换

su : run a shell with substitute user and group IDs

su [OPTION]...[-][USER[ARG]...]

-,-l,--login:make the shell a login shell

passwd : update user‘s authentication tokens

SYNOPSIS - passwd [-k] [-l] [-u[-f]] [-d] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-s] [--stdin] [username]

小技巧:

光标快速移动: ctrl + a 快速跳转到行首  ; ctrl + e  快速跳转到行尾

删除命令行中内容:ctrl + w 删除光标前一个单词 ;ctrl + u 删除光标到行首的字符 ; ctrl + k 删除光标到行尾的字符

清屏幕:ctrl + l ;clear

取消不执行的命令: ctrl + c

命令补全:双按Tab键

时间: 2024-10-12 10:43:25

一、基本概念的相关文章

WPF 依赖属性概念

理解依赖属性 在 WPF 中变成相比较于 传统 Windows Forms 变成发生了较大的改变. 属性现在以一组服务的形式提供给开发人员. 这组服务就叫做属性系统. 由 WPF 属性系统所支持的属性成为依赖属性. 依赖属性的概念 WPF 在依赖属性中提供了标准属性无法提供的功能, 特性如下: 决定属性值: 依赖属性的属性值可以在运行时有其他元素或者是其他信息所决定, 决定的过程具有一个优先次序. 自动验证或变更通知: 依赖属性哟一个自定的回调方法, 当属性值变更时被执行, 这个回调能验证新的值

Docker的概念及剖析原理和特点

一.docker的简介: 应用容器是个啥样子呢,一个做好的应用容器长的就像一个装好了一组特定应用的虚拟机一样,比如我现在想用mysql数据库,我直接找个装好了的MySQL的容器就可以了,想用的时候一运行容器,MySQL服务就起来了,就可以使用MySQL了 为什么不能直接安装一个MySQL?或者是SqlServer呢也可以啊? 答:因为有的时候根据每个人的电脑的不同,在物理机安装的时候会出现各种各样的错误,突然你的机器中病毒了或者是挂了,你所有的服务都需要重新安装. 注意:    但是有了dock

老男孩教育每日一题-2017年5月11-基础知识点: linux系统中监听端口概念是什么?

1.题目 老男孩教育每日一题-2017年5月11-基础知识点:linux系统中监听端口概念是什么? 2.参考答案 监听端口的概念涉及到网络概念与TCP状态集转化概念,可能比较复杂不便理解,可以按照下图简单进行理解? 将整个服务器操作系统比喻作为一个别墅 服务器上的每一个网卡比作是别墅中每间房间 服务器网卡上配置的IP地址比喻作为房间中每个人 而房间里面人的耳朵就好比是监听的端口 当默认采用监听0.0.0.0地址时,表示房间中的每个人都竖起耳朵等待别墅外面的人呼唤当别墅外面的用户向房间1的人呼喊时

Tensorflow一些常用基本概念与函数(四)

摘要:本系列主要对tf的一些常用概念与方法进行描述.本文主要针对tensorflow的模型训练Training与测试Testing等相关函数进行讲解.为'Tensorflow一些常用基本概念与函数'系列之四. 1.序言 本文所讲的内容主要为以下列表中相关函数.函数training()通过梯度下降法为最小化损失函数增加了相关的优化操作,在训练过程中,先实例化一个优化函数,比如 tf.train.GradientDescentOptimizer,并基于一定的学习率进行梯度优化训练: optimize

Tensorflow一些常用基本概念与函数(三)

摘要:本系列主要对tf的一些常用概念与方法进行描述.本文主要针对tensorflow的数据IO.图的运行等相关函数进行讲解.为'Tensorflow一些常用基本概念与函数'系列之三. 1.序言 本文所讲的内容主要为以下相关函数: 操作组 操作 Data IO (Python functions) TFRecordWrite,rtf_record_iterator Running Graphs Session management,Error classes 2.tf函数 2.1 数据IO {Da

数据结构基础概念

1.数据的特点:可以输入到计算机,可以被计算机程序处理 2.数据是一个抽象的概念,将其进行分类后得到程序设计语言中的类型.如:int float char等等 3.数据元素-组成数据的基本单位,数据项:一个数据元素由若干数据项组成 4.数据对象 -性质相同的数据元素的集合 5.数据元素之间不是独立的,存在特定的关系,这些关系即结构 6.数据结构指数据对象中数据元素之间的关系,编写一个"好"的程序之前,必须分析待处理问题中各个对象的特性,以及对象之间的关系 7.逻辑结构 集合结构--数据

Data guard概念篇一(转载)

本文转载至以下链接,感谢作者分享! http://tech.it168.com/db/2008-02-14/200802141545840_1.shtml 一.Data Guard配置(Data Guard Configurations) Data Guard是一个集合,由一个primary数据库(生产数据库)及一个或多个standby数据库(最多9个)组成.组成Data Guard的数据库通过Oracle Net连接,并且有可能分布于不同地域.只要各库之间可以相互通信,它们的物理位置并没有什么

js的闭包概念

一.变量的作用域要懂得闭包,起首必须懂得Javascript特别的变量作用域.变量的作用域无非就是两种:全局变量和局部变量.Javascript说话的特别之处,就在于函数内部可以直接读取全局变量. Js代码 var n=999; function f1(){ alert(n); } f1(); // 999另一方面,在函数外部天然无法读取函数内的局部变量.Js代码 function f1(){ var n=999; } alert(n); // error这里有一个处所须要重视,函数内部声明变量

【干货】如何使用C++11实现C#属性概念设计

目录(原创博客,版权所有,转载请注明出处 http://www.cnblogs.com/feng-sc) 1.概述 2.C#属性的概念  2.1.简单示例代码介绍C#中的属性  2.2.C++实现效果与C#效果对比(熟悉C#属性读者可从此小节开始) 3.如何使用C++11实现C#属性的概念模型 3.1.property_rw介绍 3.2.property_r.property_w介绍 3.3.完整属性测试代码介绍 4.总结 1.概述 本人对“C++实现C#属性概念”的研究决定并非一时冲动,而是原

weblogic一些基本概念

<收藏过来的----------http://www.cnblogs.com/cocowool/archive/2012/04/01/2428861.html> WebLogic中的一些基本概念 WebLogic 中的基本概念 上周参加了单位组织的WebLogic培训,为了便于自己记忆,培训后,整理梳理了一些WebLogic的资料,会陆续的发出来,下面是一些基本概念. Domain : 域是作为单元进行管理的一组相关的 WebLogic Server 资源.一个域包含一个或多个 WebLogi