当前位置: 首页 > news >正文

Linux---Linux是什么

Linux 便成立的核心网站: http://www.kernel.org

Linux是什么

Linux 就是一套操作系统
Linux 就是核心与系统呼叫接口那两层在这里插入图片描述
软件移植:如果能够参考硬件的功能函数并据以修改你的操作系统程序代码, 那经过改版后的操作系统就能够在另一个硬件平台上面运作了。 这个动作我们通常就称为『软件移植』了

Windows 操作系统本来就是针对个人计算机 x86 架构的硬件去设计的,每种操作系统都是在他专门
的硬件机器上面运行的喔

Linux 提供了一个完整的操作系统当中最底层的硬件控制与资源管理的完整架构, 这个架构是沿袭Unix 良好的传统来的,所以相当的稳定而功能强大

Linux 之前,Unix 的历史

  1. 兼容分时系统(Compatible Time-Sharing System, CTSS), 它可以让大型主机透过提供数个终端机(terminal)以联机进入主机,来利用主机的资源进行运算工作。他可以让多个使用者在某一段时间内分别使用 CPU 的资源, 感觉上你会觉得大家是同时使用该主机的资源!事实上,是 CPU 在每个使用者的工作之间进行切换, 在当时,这可是个划时代的技术
    在这里插入图片描述
  2. 1969 年:Ken Thompson 的小型 file server system
    Thompson 的这个文件系统有两个重要的概念,分别是:
  • 所有的程序或系统装置都是文件
  • 不管建构编辑器还是附属文件,所写的程序只有一个目的,且要有效的完成目标
  1. 1973 年:Unix 的正式诞生,Ritchie 等人以 C 语言写出第一个正式 Unix 核心
  • B—>C==>UNINX
  • 相对于汇编语言需要与硬件有密切的配合,高阶的 C 语言与硬件的相关性就没有这么大了!所以,这个改变也使得 Unix 很容易被移植到不同的机器上面
  1. 1977 年:重要的 Unix 分支–BSD 的诞生
    后来可以安装在 x86 硬件架构上面FreeBSD 即是 BSD 改版而来
  2. 1979 年:重要的 System V 架构与版权宣告
    目前被称为纯种的 Unix 指的就是 System V 以及 BSD 这两套
  3. 1984 年之一:x86 架构的 Minix 操作系统开始撰写并于两年后诞生
    既然 1979 年的 Unix 第七版可以在 Intel 的 x86 架构上面进行移植, 那么是否意味着可以将 Unix 改写并移植到 x86 上面了呢?
  4. 1984 年之二:GNU 计划与 FSF 基金会的成立
  • GNU 计划
  • 写 C 语言的编译程序,那就是现在相当有名的GNU C Compiler(gcc)
  • 成立自由软件基金会(FSF, Free Software Foundation)
  • 还撰写了更多可以被调用的 C函式库(GNU C library)
  • 以及可以被使用来操作操作系统的基本接口 BASH shell
  1. GNU 的通用公共许可证
    通用公共许可证(General Public License, GPL),并且称呼他为 copyleft(相对于专利软件的 copyright!

由于有 GNU 所开发的几个重要软件,如:

  • Emacs
  • GNU C (GCC)
  • GNU C Library (glibc)
  • Bash shell

关于 GNU 计划、自由软件与开放原始码

一个软件挂上了 GPL 版权宣告之后,他自然就成了自由软件!这个软件就具有底下的特色:

  • 取得软件与原代码:你可以根据自己的需求来执行这个自由软件;
  • 复制:你可以自由的复制该软件;
  • 修改:你可以将取得的原始码进行程序修改工作,使之适合你的工作;
  • 再发行:你可以将你修改过的程序,再度的自由发行,而不会与原先的撰写者冲突;
  • 回馈:你应该将你修改过的程序代码回馈于社群!

但请特别留意,你所修改的任何一个自由软件都不应该也不能这样:

  • 修改授权:你不能将一个 GPL 授权的自由软件,在你修改后而将他取消 GPL 授权~
  • 单纯贩卖:你不能单纯的贩卖自由软件。

托瓦兹 的 Linux 发展

与 Minix 之间

汇编语言(Assembly Language):那是一种直接与芯片对谈的程序语言,也就是所谓的低级语言。 必须要很了解硬件的架构,否则很难以汇编语言撰写程序的。

对 386 硬件的多任务测试

假设 CPU 频率为 1GHz 的话,那表示 CPU 一秒钟可以进行 109 次工作。

Linux 的核心版本

奇数、偶数版本分类(3.0 推出之后就失效了。)

  1. 主、次版本为奇数:发展中版本(development)
    如 2.5.xx,这种核心版本主要用在测试与发展新功能,所以通常这种版本仅有核心开发工程师会使用。
  2. 主、次版本为偶数:稳定版本(stable)
    如 2.6.xx,等到核心功能发展成熟后会加到这类的版本中,主要用在一般家庭计算机以及企业版本中。

主线版本、长期维护版本(longterm version)

  • 例如 3.10 就是在 3.9 的架构下继续开发出来的新的主线版本。
  • 而旧的版本在新的主线版本出现之后,会有两种机制来处理,一种机制为结束开发 (End of Live, EOL),亦即该程序代码已经结束,不会有继续维护的状态。 另外一种机制为保持该版本的持续维护,亦即为长期维护版本 (Longterm)!
  • ,如果你想要使用 Linux 核心来开发你的系统,那么当然要选择长期支持的版本才行!要判断你的 Linux 核心是否为长期支持的版本, 可以使用『 uname -r 』来查阅核心版本,然后对照下
    列连结来了解其对应值! https://www.kernel.org/releases.html

Linux 发行版

  1. 可完全安装的 Linux 发行版
    『内核+ 软件 + 工具+ 可完全安装程序』的东西,我们称之为 Linux distribution, 一般中文翻译成Linux发行版,或者 Linux 发布商套件等

底下列出几个主要的 Linux distributions 发行者网址:

  • Red Hat
  • SuSE
  • Fedora
  • CentOS
  • Debian
  • Ubuntu
  • Gentoo

Linux 当前应用的角色

企业环境的使用

  1. 网络服务器
  2. 关键任务的应用(金融数据库、大型企业网管环境)
  3. 学术机构的高效能运算任务

个人环境的使用

  1. 桌面计算机
    X Window System 仅只是 Linux 上面的一套软件, 而不是核心喔!所以即使 X Window 挂了,对 Linux 也可能不会有直接的影响
  2. 手持系统(PDA、手机)
    Android 其实就是 Linux 核心的一支,只是专门用来针对手机/平板这类的 ARM 机器所设计的
  3. 嵌入式系统

云端运用

  1. 云程序
    透过虚拟化技术,你可以将一部实体主机安装多个同时运作的操作系统 (非多重引导),以达到将硬件资源完整利用的效果。
  2. 端设备

该如何学习

从头学习 Linux 基础

  1. 计算器概论与硬件相关知识
  2. 先从 Linux 的安装与指令学起
  3. Linux 操作系统的基础技能
  4. 务必学会 vi 文书编辑器
  5. Shell 与 Shell Script 的学习
  6. 一定要会软件管理
  7. 网络基础的建立
    计算机基础
    网络基础

选择一本易读的工具书

请推荐有关网络的书

实践再实践

(Study-Area)

发生问题怎么处理

  1. 在自己的主机/网络数据库上查询 How-To 或 FAQ
  • Linux 自己的文件数据: /usr/share/doc (在你的 Linux 系统中)
  • CLDP 中文文件计划 http://www.linux.org.tw/CLDP/
  • The Linux Documentation Project:http://www.tldp.org/
  • 鸟哥网站: http://linux.vbird.org/Searching.php
  • 如果是网络服务的问题时,请到/var/log/这个目录里头去查阅一下 log file(登录档),这样可以几乎解决大部分的问题了!
  • 提问的智慧 http://phorum.vbird.org/viewtopic.php?t=96
  • 酷学园讨论区 http://phorum.study-area.org
  • 鸟哥的私房菜馆讨论区 http://phorum.vbird.org

相关文章:

Linux---Linux是什么

Linux 便成立的核心网站: http://www.kernel.org Linux是什么 Linux 就是一套操作系统 Linux 就是核心与系统呼叫接口那两层 软件移植:如果能够参考硬件的功能函数并据以修改你的操作系统程序代码, 那经过改版后的操作系统就能够在另一个硬…...

C语言(Tgmath.h库(C99),exit和atexit)

一.Tgmath.h库(C99) C99标准提供得tgmath.h头文件定义了泛型类型宏。比如在math.h中为一个函数定义了3中类型(float,double和long double)的版本,那么tgmath.h文件就创建一个泛型类型宏,与原来的float,double和long double版本的…...

LeetCode 刷题系列 -- 739. 每日温度

给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。示例 1:输入:temperatures …...

如何生成毕业论文的目录和创建模板

有粉丝同学最近在写毕业论文,其中比较让人恼火的是毕业论文的目录,折腾了几遍没弄好,想让我写个简单地教程,那就来吧。主要分为三步:第一步是从模板里面提取标题的样式,第二步是对自己的论文使用设置好的标…...

新来的23岁软件测试员上来秀了波操作,把几个老员工看傻了

春招了,公司来了个小伙子,一看简历,嘿?22岁,这不刚毕业的小毛孩子嘛,结果没想到人家上来就把现有项目的性能优化了一遍,给公司节省了一半的成本,这种“王炸”打法,直接给…...

Window10开放某个端口

需求:由于防火墙原因,开放某个端口:如9999 在开始那里搜索防火墙-进入防火墙 第一步:核实是否启动了防火墙,之后进行 第二步:点击“高级设置”,→“入站规则”→“新建规则”→“端口”→ “下一步” …...

进阶7 分页查询

进阶7 分页查询!!! 目录概述练习题概述 应用场景:当要显示的数据一页显示不全,需要分页提交SQL请求 语法: select 查询列表 from 表名 【join type join 表2 on 连接条件 where 筛选条件 group by 分组字段…...

利用升序定时器链表处理非活动连接

参考自游双《Linux高性能服务器编程》 背景 服务器同常需要定期处理非活动连接:给客户发一个重连请求,或关闭该连接,或者其他。我们可以通过使用升序定时器链表处理非活动连接,下面的代码利用alarm函数周期性的触发SIGALRM信号&a…...

MySQL 开发规范

一、数据库命名规范所有数据对象名称必须小写 :​​db_user​​禁止使用MySQL 保留关键字,若是则引用 临时表以​​tmp_​​​ 开头,备份表以​​bak_​​ 开头并以时间戳结尾所有存储相同数据的列名和列类型必须一致二、数据库基本设计规范​​1、MySQL…...

【C语言进阶】预处理与程序环境

目录一.详解编译与链接1.前言2.翻译环境3.剖析编译过程4.运行环境二.预处理详解1.预定义符号2.剖析#define(1).定义标识符(2).定义宏(3).替换规则(4).#和##(5).宏与函数的对比(6).#undef3.条件编译4.文件包含(1).头文件包含的方式(2).嵌套文件包含一.详解编译与链接 1.前言 在…...

【Docker知识】将环境变量传递到容器

一、说明 程序通常通过与软件捆绑在一起的配置来控制操作,环境变量允许用户在运行时设置它们。但是,在 Docker 容器中运行进程会使事情变得复杂,那么如何将环境变量传递给容器呢?下面介绍若干个传递办法。 二、环境变量有何用途 环…...

Allegro如何更改铜皮显示密度操作指导

Allegro如何更改铜皮显示密度操作指导 用Allegro做PCB设计的时候,铜皮正常显示模式如下图 铜皮的密度是基本填充满的,Allegro支持更改铜皮的显示密度 如下图 如何更改密度,具体操作如下 点击setup...

ThinkPHP5酒店预订管理系统

有需要请私信或看评论链接哦 可远程调试 ThinkPHP5酒店预订管理系统一 介绍 此酒店预订管理系统基于ThinkPHP5框架开发,数据库mysql,采用了ueditor富文本编辑器。系统角色分为用户,员工和管理员。用户可注册登录并预订酒店和评论等&#xff…...

【MySQL】MyCat分库分表分片规则配置详解与实战(MySQL专栏启动)

📫作者简介:小明java问道之路,2022年度博客之星全国TOP3,专注于后端、中间件、计算机底层、架构设计演进与稳定性建工设优化。文章内容兼具广度深度、大厂技术方案,对待技术喜欢推理加验证,就职于知名金融公…...

OpenWrt路由器设置域名动态解析手把手教程

文章目录0、前言1、准备工作2、详细步骤2.1、OpenWrt路由器软件包安装2.2、防火墙放行入站数据(修改为“接受”并保存应用)2.3、域名解析服务商对域名的解析设置2.4、路由器中动态域名插件的设置0、前言 因为一直用着内网穿透(zerotier或者是…...

java流浪动物救助系统(毕业设计)

项目类型:Java web项目/Java EE项目(非开源) 项目名称:基于JSPServlet的流浪动物救助网站[dwjz_web] 进行源码获取 用户类型:双角色(爱心人士、管理员) 项目架构:B/S架构 设计思…...

阿里代码规范插件中,Apache Beanutils为什么被禁止使用?

在实际的项目开发中,对象间赋值普遍存在,随着双十一、秒杀等电商过程愈加复杂,数据量也在不断攀升,效率问题,浮出水面。 问:如果是你来写对象间赋值的代码,你会怎么做? 答&#xf…...

NFC enable NFC使能流程

同学,别退出呀,我可是全网最牛逼的 WIFI/BT/GPS/NFC分析博主,我写了上百篇文章,请点击下面了解本专栏,进入本博主主页看看再走呗,一定不会让你后悔的,记得一定要去看主页置顶文章哦。 NFC enable NFC使能流程 认识nfc系统如何工作,最好的方法就是了解nfc的各个流程,…...

Redis实例绑定CPU物理核优化Redis性能

进入本次Redis性能调优之前,首先要知道CPU结构也会影响Redis的性能。接下来,具体了解一下!为什么CPU结构也会影响Redis的性能?主流的 CPU 架构一个 CPU 处理器中一般有多个物理核,每个物理核都可以运行应用程序。每个物…...

STC15中断系统介绍

STC15中断系统介绍✨本篇参考来源于STC官方stc15系列手册:538页- 589页。(文末提供该摘取部分的文档资料) 🎉在官方提供的手册资料中,一个系列一份手册,手册内容涵盖了数据手册和参考手册以及例程案例。对于学习着来说…...

力扣HOT100 11-15

11.盛水最多的容器 思路:最大水量 底边 * 高度。较短的一边控制最大水量,因此,采用双指针的方式,左、右指针指向开始和末尾,逐个向中间移动,判断左右指针所指向的高度哪个更低,它就向中间移动一…...

深入浅出单调栈与单调队列

目录一、单调栈情形一:寻找一个数左边第一个小于它的数情形二:寻找一个数左边第一个小于它的数的下标情形三:寻找一个数右边第一个大于它的数情形四:寻找一个数右边第一个大于它的数的下标二、单调栈的应用2.1 单调栈模板题I2.2 单…...

深入C语言——实现可变参数函数

文章目录初步示例函数解析最大值函数初步示例 stdarg.h提供了C语言对可变参数的支持&#xff0c;先举一个简短的例子 //testStdArg.c #include <stdarg.h> #include <stdio.h>void printIntList(int N, ...){va_list args; //存放...所代表的参数va_start(…...

41-Dockerfile-Dockerfile简介

Dockerfile简介前言Dockerfile 简介基础知识使用Dockerfile 构建镜像步骤Dockerfile 构建过程Dockerfile基本结构Dockerfile示例总结前言 本篇开始来学习下Dockerfile相关的用法 Dockerfile 简介 Dockerfile : 是用来构建 Docker 镜像的文本文件&#xff0c;是有一条条构建镜…...

【408】操作系统 - 刻骨铭心自测题1(上)

文章目录OS练习题第一部分&#xff1a;1&#xff1a;2&#xff1a;3&#xff1a;4&#xff1a;5&#xff1a;6&#xff1a;7&#xff1a;8&#xff1a;9&#xff1a;10&#xff1a;11&#xff1a;12&#xff1a;13&#xff1a;14&#xff1a;15&#xff1a;16&#xff1a;17&am…...

【老卫拆书】009期:Vue+Node肩挑全栈!《Node.js+Express+MongoDB+Vue.js全栈开发实战》开箱

今天刚拿到一本新书&#xff0c;叫做《Node.jsExpressMongoDBVue.js全栈开发实战》&#xff0c;做个开箱。 外观 先从外观上讲&#xff0c;这本是全新的未开封的&#xff0c;膜还在。 这本书介绍从技术原理到整合开发实战&#xff0c;以丰富的项目展现全栈开发的一个技巧。 …...

【LeetCode】动态规划总结

动态规划解决的问题 动态规划和贪心的区别&#xff1a; 动态规划是由前一个状态推导出来的&#xff1b; 贪心是局部直接选最优的。 动态规划解题步骤 状态定义&#xff1a;确定dp数组以及下标的含义状态转移方程&#xff1a;确定递推公式初始条件&#xff1a;dp如何初始化遍历…...

CAS详解.

CAS这个机制就给实现线程安全版本的代码&#xff0c;提供了一个新的思路&#xff0c;之前通过加锁&#xff0c;把多个指令打包成整体&#xff0c;来实现线程安全。现在就可以考虑直接基与CAS来实现一些修改操作&#xff0c;也能保证线程安全&#xff08;不需要加锁&#xff09;…...

Mock.js初步使用(浏览器端)

Mock.js&#xff1a;生成随机数据&#xff0c;拦截 Ajax 请求。官方地址&#xff1a;http://mockjs.com/第一个demodemo.html<!DOCTYPE html> <html> <head><meta charset"utf-8"><title>mockjs demo</title> </head> <…...

opencv保存图片

大家好&#xff0c;我是csdn的博主&#xff1a;lqj_本人 这是我的个人博客主页&#xff1a; lqj_本人的博客_CSDN博客-微信小程序,前端,python领域博主lqj_本人擅长微信小程序,前端,python,等方面的知识https://blog.csdn.net/lbcyllqj?spm1011.2415.3001.5343哔哩哔哩欢迎关注…...

旅游网站建设和开发/专业做网站公司

win10中要开启热点时可能会报这个错。 解决方法如下&#xff1a; 1 右击电脑选择属性-》设备管理器 2、选择网络适配器 下的WiFi模块&#xff0c;不同电脑名称会有差异&#xff0c;但是名字一定包含 “wireless“ 双击它&#xff0c;选择高级设置 将2.4G 和 5.2G的信道宽度…...

房产网站 模板/seo怎么做教程

sqlserver中&#xff0c;没有提供现成的方法来拷贝某个表结构&#xff0c;不过可以换种方式来处理&#xff0c;如果拷贝某个表的表结构&#xff0c;同时这个表内无数据&#xff0c;可以用如下方式解决&#xff1a;创建tempa表&#xff0c;作为源表。 create table tempa( [i…...

艾奇视觉网站建设/app软件开发

线程发生死锁可能性很小&#xff0c;即使看似可能发生死锁的代码&#xff0c;在运行时发生死锁的可能性也是小之又小。发生死锁的原因一般是两个对象的锁相互等待造成的。在《Java线程&#xff1a;线程的同步与锁》一文中&#xff0c;简述死锁的概念与简单例子&#xff0c;但是…...

帝国cms做搜索网站/描述优化方法

1、初始化仓库 如果成功执行git init 命令&#xff0c;该目录下会生成一个.git的目录 2.查看仓库状态 *注&#xff1a; 实际工作中&#xff0c;git status使用次数非常多&#xff0c;一定要记住。因为当工作树和仓库被操作的过程中状态会不断发生变化 2.1、添加 README.MD文件…...

目标网站上做关键字布局/最新经济新闻

正则表达式 正则表达式是指一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串。其实就是一种规则。有自己特殊的应用。正则表达式的表达类&#xff1a; 字符类&#xff1a; [abc] a、b 或 c&#xff08;简单类&#xff09;[ ^abc ] 任何字符&#xff0c;除了 a…...

成都营销网站建设/如何做好网站站内优化

1.整型符号&#xff1a;int用处&#xff1a;用于计算和比较python3:全部都是整型python2&#xff1a;整型&#xff0c;长整型long123--十进制 转二进制方法&#xff1a;十进制数除2&#xff0c;取余数从下往上排&#xff1b;print(bin(十进制数))10101--二进制 转十进制方法&am…...