参考: http://edu.51cto.com/lesson/id-11222.html

CPU中有计算单元 控制单元。它通过桥接芯片与存储器进行匹配

其中北桥是高速 南桥是低速 包括IDE USB等

通过中断控制器进行相应输入设备 例如鼠标等

MULTICS -> unics

Unics-> unix bell实验室 这个设备版权

linux->是芬兰一个大学生开发 类Unix系统 不涉及版权

GUN 协议 GNU is Not Unix

copyright copyleft

VI 文本编辑器 gcc: GNU C Complier 源程序转为机器代码

Linux :linus发明的 内核

C

调用硬件功能,需要硬件驱动

操作系统:整合一大堆驱动 ,硬件只需要调用对应驱动就可以

CPU在两个程序都要调用时 采用time slase 切片时间

程序执行起来,都是放在内存当中,CPU一般无法直接与硬盘打交道

内存上: 线性地址 物理地址

多任务 -》 不断切换 ,怎么避免互相不打搅?保存现场?恢复现场。

活动程序的实例-》叫做进程 程序的副本。就是资源分配单位

优先级-》由操作系统提供

OS

cpu时间分配

内存管理

进程管理

安全功能

驱动硬件

人机接口

shell :外壳

GUI: graphic user interface

CLI: Command Line interface

system call系统调用 程序员组合这些系统调用,并结合程序本身来开发软件

linux 300+系统调用 为了简化系统调用-》二次封装 成库library function

静态编译

动态编译 或动态链接库 .dll 第二个程序调用内存中第一个程序已经运行的动态库

glibc 为C语言程序提供基本的语言运行库

四层结构: 由上到下:

各应用程序 特殊应用程序:shell

内核

硬件

通过内核访问硬件。用户空间是用户程序占用内存空间 此外内核空间

通过system call和内核打交道

例如:cpu rm /tem/test.txt 需要转换到内存模式

POS portable operating system

posIx 兼容标准

API application program interface

ABI application binary interface 应用执行格式不一致

x86:

x86_64: amd64:

powerpc:

cpu针脚不一样

linux发行版: 源代码编译成二进制,保证成安装程序,并且针对特定的平台

发行版或者发行商 redhat 最早就是针对特定平台 将linux+gnu+安装程序

Debian Ubuntu在debian上二次开发

CentOS

redhat 9.0 ->  Fedora

SUSE

Alpha内测版

beta公测版

RC 发行候选

Android linux+jave虚拟机

IOS freebsd +objectC

总结: 自由软件

1 为任何目的运行程序的自由

2 学习和修改源代码的自由

3 重新分发程序的自由

4 基于某源程序开发衍生版的自由

console 物理终端 虚拟终端

shell 和某个物理设备关联 如果是本地的,就是虚拟终端

按下 ctrl+alt +F#(1-6) mingetty 终端 打开虚拟终端,模拟的硬件

默认使用的shell 是bash shell

sh

csh

ksh

bash  开源的 除了输命令接口,还有编程能力 多个命令组合按照

bash 脚本编程

电脑开机,看任务管理器,里面进程有很多。这说明windows这些系统要启动时本身有很多程序要启动

默认的时候启动了很多服务(守护进程)

看shel 输入 echo $SHELL

查看终端输入 tty

图像界面下的终端或者远程的 是模拟终端

GUI

Gnome  C语言

KDE     C++

Xface   轻量级

Ubuntu 默认是Gnome

输入 startx &

ctrl+alt+F7 回到图形界面

startx --:2 &  启动多个桌面

虚拟终端 /dev/tty[1,6]

模拟终端 /dev/pts/#

物理终端 /dev/console

图形终端

prompt : 命令提示符 $

# :root用户

$ :普通用户

一切皆文件 /dev/keyboard

小白Linux入门 二的更多相关文章

  1. 小白Linux入门 三

    环境变量 shell 变量: 内存空间 ,命名的内存空间 echo $SHELL 其中SHELL是变量 里面是/bin/bash sudo su  进入root printenv 命令 命令: 内部命 ...

  2. 小白Linux入门 一

    1 win7电脑上安装虚拟机,准备文件 vmware 12 http://www.orsoon.com/Soft/89658.html ubuntu 16.04  http://cn.ubuntu.c ...

  3. Linux入门(二)Linux基本命令及基本操作

    1 常用Linux命令 图形界面进入到字符界面: ctrl+alt+F2~F6 字符界面进入到图形界面:ctrl +alt+F7 查看本机ip:  ifconfig  (windows是:ipconf ...

  4. 小白Linux入门 四

    http://edu.51cto.com/lesson/id-11372.html 28了 文件管理类命令 目录: mkdir mkdir /tmp/x mkdir -p /tmp/a/b -pv b ...

  5. kali Linux 入门(二)

    九.软件安装 1.apt install --软件名称-- -y 2.apt install packge_name----库安装 3.apt install kali-linux-all -y--- ...

  6. Linux入门篇(二)——文件

    这一系列的Linux入门都是本人在<鸟哥的Linux私房菜>的基础上总结的基本内容,主要是记录下自己的学习过程,也方便大家简要的了解 Linux Distribution是Ubuntu而不 ...

  7. Linux 入门记录:二十、Linux 包管理工具 YUM

    一.YUM(Yellowdog Updater, Modified) 1. YUM 简介 RPM 软件包形式管理软件虽然方便,但是需要手动解决软件包的依赖问题.很多时候安装一个软件首先需要安装 1 个 ...

  8. Linux入门篇(六)——Shell(二)

    这一系列的Linux入门都是本人在<鸟哥的Linux私房菜>的基础上总结的基本内容,主要是记录下自己的学习过程,也方便大家简要的了解 Linux Distribution是Ubuntu而不 ...

  9. 01 Linux入门介绍

    一.Linux 初步介绍 Linux的优点 免费的,开源的 支持多线程,多用户 安全性好 对内存和文件管理优越 系统稳定 消耗资源少 Linux的缺点 操作相对困难 一些专业软件以及游戏支持度不足 L ...

随机推荐

  1. easyUI datagrid 根据查询条件 选中对应数据的行

    开始 输入了 土豆,南瓜,再次是小青菜,每次输入点击搜索的时候(模糊查询),选中的当前数据对应的行 在做之前,在网上查询了许多资料,也在技术群里问过许多次,弄了好久终于好了. 第一次写博客真不知道写啥 ...

  2. C#多线程介绍(下)

    转载原文:这里是链接内容 转载原文:这里写链接内容 转载原文:这里写链接内容 (重要事情说三遍) 引言 本文主要从线程的基础用法,CLR线程池当中工作者线程与I/O线程的开发,并行操作PLINQ等多个 ...

  3. 深入浅出NodeJS——数据通信,NET模块运行机制

    互联网的运作,最根本的驱动就是信息的交互,NodeJS 在数据交互这一块做的很带感,异步编程让人很惬意,关于 NodeJS 的数据通信,最基础的两个模块是 NET 和 HTTP,前者是基于 TCP 的 ...

  4. Web3DGame之路,Babylonjs 和TypeScript学习笔记(一)

    一个开源的Webgl3D引擎,javascript or typescript http://www.babylonjs.com 啥是WebGL WebGL 网页图形库,简称WebGL,是一个JS库, ...

  5. ASP.NET MVC 过滤器(一)

    ASP.NET MVC 过滤器(一) 前言 前面的篇幅中,了解到了控制器的生成的过程以及在生成的过程中的各种注入点,按照常理来说篇幅应该到了讲解控制器内部的执行过程以及模型绑定.验证这些知识了.但是呢 ...

  6. WCF wsHttpBinding之Transport security Mode, clientCredentialType=”Basic”

    原创地址:http://www.cnblogs.com/jfzhu/p/4071342.html 转载请注明出处 如何在WCF中使用Transport Security Mode,以及如何创建证书,请 ...

  7. Mint linux 自定义上下文菜单实现ZIP压缩文件无乱码解压

    1. 前提条件 我的Mint Linux 是Thunar文件管理器(默认的). 2. 配置自定义动作 打开Thunar文件管理器,点击菜单“编辑”=>“配置自定义动作”.点击“+”添加一个新的. ...

  8. Android-简单的图片验证码

    Android-图片验证码生成1.为啥要验证码?图片验证码在网络中使用的是比较普遍的.一般都是用来防止恶意破解密码.刷票.论坛灌水.刷页等.2.怎样的验证码比较好?验证码的获取方式无非就两种,一种是后 ...

  9. python3.5 正则表达式

    我们平时上网的时候,经常需要在一些网站上注册帐号,而注册帐号的时候对帐号名称会有一些要求. 比如: 上面的图片中,输入的邮件地址.密码.手机号 才可以注册成功. 我们需要匹配用户输入的内容,判断用户输 ...

  10. LoTVideo:只需两步,让HTML5原生态的Video茁壮成长

    开源地址:https://github.com/dunitian/LoTHTML5/tree/master/LoTVideo 第一步引入lotvideo.js(先确认在这个前面引入了jq包) 第二步: ...