小白Linux入门 二
参考: 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入门 二的更多相关文章
- 小白Linux入门 三
环境变量 shell 变量: 内存空间 ,命名的内存空间 echo $SHELL 其中SHELL是变量 里面是/bin/bash sudo su 进入root printenv 命令 命令: 内部命 ...
- 小白Linux入门 一
1 win7电脑上安装虚拟机,准备文件 vmware 12 http://www.orsoon.com/Soft/89658.html ubuntu 16.04 http://cn.ubuntu.c ...
- Linux入门(二)Linux基本命令及基本操作
1 常用Linux命令 图形界面进入到字符界面: ctrl+alt+F2~F6 字符界面进入到图形界面:ctrl +alt+F7 查看本机ip: ifconfig (windows是:ipconf ...
- 小白Linux入门 四
http://edu.51cto.com/lesson/id-11372.html 28了 文件管理类命令 目录: mkdir mkdir /tmp/x mkdir -p /tmp/a/b -pv b ...
- kali Linux 入门(二)
九.软件安装 1.apt install --软件名称-- -y 2.apt install packge_name----库安装 3.apt install kali-linux-all -y--- ...
- Linux入门篇(二)——文件
这一系列的Linux入门都是本人在<鸟哥的Linux私房菜>的基础上总结的基本内容,主要是记录下自己的学习过程,也方便大家简要的了解 Linux Distribution是Ubuntu而不 ...
- Linux 入门记录:二十、Linux 包管理工具 YUM
一.YUM(Yellowdog Updater, Modified) 1. YUM 简介 RPM 软件包形式管理软件虽然方便,但是需要手动解决软件包的依赖问题.很多时候安装一个软件首先需要安装 1 个 ...
- Linux入门篇(六)——Shell(二)
这一系列的Linux入门都是本人在<鸟哥的Linux私房菜>的基础上总结的基本内容,主要是记录下自己的学习过程,也方便大家简要的了解 Linux Distribution是Ubuntu而不 ...
- 01 Linux入门介绍
一.Linux 初步介绍 Linux的优点 免费的,开源的 支持多线程,多用户 安全性好 对内存和文件管理优越 系统稳定 消耗资源少 Linux的缺点 操作相对困难 一些专业软件以及游戏支持度不足 L ...
随机推荐
- jqueryui 进度条使用
<title></title> <script src="../Js/NewJs_CFJ/jquery.js" type="text/jav ...
- 通过反射获取DLL的类实现加载窗体
1.创建一个DLL 类库,并新建一个窗体类,这个直接在vs上操作就好 2. 建立一个Testassembly工程 新建一个测试类 namespace Testassembly { public par ...
- OS中atomic的实现解析
OS中atomic的实现解析 转自:http://my.oschina.net/majiage/blog/267409 摘要 atomic属性线程安全,会增加一定开销,但有些时候必须自定义ato ...
- 微软开源 WCF 分布式服务框架,并入 .NET 基金会项目
微软北京时间2015.5.20 在其 .NET Foundation GitHub 开源项目页中开放了 WCF 分布式服务框架的代码.WCF突然之间成为一个热门话题,在各大网站上都有不同的报道:dot ...
- Windows建立Cucumber和Ruby测试环境
1. 下载安装Ruby1.9.3, 不要用RubyInstall 一键安装,下载zip然后解压到c:\Ruby193 (不要用2.0,用2.0安装不成功,不要怪我) 2. 环境变量配置RUBY_HOM ...
- 剑指Offer面试题:33.二叉树的深度
一.题目一:二叉树的深度 1.1 题目说明 题目一:输入一棵二叉树的根结点,求该树的深度.从根结点到叶结点依次经过的结点(含根.叶结点)形成树的一条路径,最长路径的长度为树的深度.例如下图中的二叉树的 ...
- 我为什么很烦在DB服务器上安装杀毒软件
常见的数据库连接问题无外乎是在数据库服务器本地可以连接SQL Server,但通过其他服务器就不可以连接.但这次我却碰到了相反的情况,在服务器本地无法通过IP/实例名连接,但从其他服务器却可以.而且每 ...
- [Oracle](不会的是三炮)把状态列表作为存储过程参数这件小事
抱歉用了这么渣的标题,其实是一个很简单而且很常见的需求:假设我们有一个学生表,它有一个状态字段: create table T_STU ( STU_ID ) not null, NAME ), COD ...
- 开始用Word 2013来写博客
第一步:如果从未发布过博客文章的话,需要在菜单里面选这里添加博客账号 第二步:选择正确的设置 第三步:写完博客之后,按这里就可以发布了! 如果以后需要写新的博客的话,还可以直接点这里: ...
- ASP.NET MVC 控制器激活(三)
ASP.NET MVC 控制器激活(三) 前言 在上个篇幅中说到从控制器工厂的GetControllerInstance()方法来执行控制器的注入,本篇要讲是在GetControllerInstanc ...