linux操作系统基础知识有哪些

linux操作系统基础知识:1、操作系统区分物理内存和虚拟内存;2、了解内存和硬盘的关系;3、各个部分常出现的漏洞,如cpu容易出现该类瓶颈的邮件服务器、动态web服务器;4、掌握Linux本身的一些优化。

linux操作系统基础知识有哪些

linux操作系统基础知识:

1.操作系统总体介绍

•CPU: 就像人的大脑,主要负责相关事情的判断以及实际处理的机制。

查询指令: cat /proc/cpuinfo

•内存: 大脑中的记忆区块,将皮肤、眼睛等所收集到的信息记录起来的地方,以供CPU进行判断。查询指令: cat /proc/meminfo

物理内存

物理内存,就是我们将内存条插在主板内存槽上的内存条的容量的大小。看计算机配置的时候,主要看的就是这个物理内存

虚拟内存

Windows中运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用,当内存占用完时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。

关系:windows中虚拟内存和物理内存可能都会被使用,linux中,只有物理内存使用完了,才会使用虚拟内存

•硬盘: 大脑中的记忆区块,将重要的数据记录起来,以便未来再次使用这些数据。

查询指令: fdisk -l (需要root权限)

2.内存和硬盘的关系

具体命令后面会介绍

3.操作系统监控命令>单独写一份

 

•vmstat

•sar

•iostat

•top

•free

•uptime

•netstat

•ps

•strace

•lsof

4.如何分析操作系统

实际流程: 读数据》数据>硬盘》虚拟内存(swaP)》内存》cpu缓存》执行队列

分析方向,正好相反

5.各个部分常出现的漏洞

•CPU: 容易出现该类瓶颈的邮件服务器、动态web服务器

•内存: 容易出现该类瓶颈的打印服务器、数据库服务器、静态web服务器

•磁盘I/O: 频繁读写操作的项目

•网络带宽: 频繁大量上传下载项目

 

6.Linux本身的一些优化

1. 系统安装优化

 

当安装linux系统时,磁盘划分、 SWAP内存的分配都直接影响系统性能。对于虚拟内存SWAP的设定,现在已经没有了所谓虚拟内存是物理内存两倍的要求,但是根据经验,如果内存较小(物理内存小于4GB),一般设置SWAP交换分区大小为内存的2倍;如果物理内存大约4GB小于16GB,可以设置SWAP大小等于或者略小于物理内存即可;如果内存在16GB以上,原则上可以设置SWAP为0,但最好设置一定大小的SWAP

• 2. 内核参数优化

例如,如果系统部署的oracle数据库应用,那么就需要对系统共享内存段( kernel.shmmax, kenerl.shmmni, kernel.shmall)、

系统信号量( kernel.sem)、文件句柄( fs.file0max)等参数进行优化设置;如果部署的WEB应用,那么就需要根据web应用特性进行网络参数的优化,例如修改net.ipv4.ip_local_port_range、net.ipv4.tc_tw_reuse、 net.core.somaxconn等网络

内核参数

• 3. 文件系统优化

在linux下可选的文件系统有ext2,、 ext3、 xfs、 ReiserFS

无涯·问知 无涯·问知

无涯·问知,是一款基于星环大模型底座,结合个人知识库、企业知识库、法律法规、财经等多种知识源的企业级垂直领域问答产品

无涯·问知 40 查看详情 无涯·问知

linux标准文件系统是从VFS开始,然后ext、 ext2, ext2是linux上的标准文件系统, ext3是在ext2基础上增加日志形成的。从VFS到ext3,设计思想没有太大变化,都是早期UNIX家族基于超级块和inode的设计理念设计而成。XFS文件系统是SGI开发的一个高级日志文件系统,通过分布处理磁盘请求、定位数据、保持cache的一致性来提供对文件系统数据的低延迟、高带宽的访问,因此XFS极具伸缩性,非常健壮,具有优秀的日志记录功能、可扩展性强、快速写入等优点。ReiserFS在Hans Reiser领导下开发出来的一款高性能的日志文件系统,通过完全平衡树来管理数据,包括文件数据、文件名及日志支持等。与ext2、 ext3相比,最大的优点是访问性能和安全性大幅提升。具有高效、合理利用磁盘空间,先将的日志管理机制,特意的搜寻方式,海量磁盘存储等优点

 

4.重点知识

物理内存和虚拟内存

(1).如何查看物理内存和虚拟内存?

 

Top  命令可以查看物理内存和虚拟内存的数值

(2).Buffer

是硬盘控制器上的一块内存芯片,具有极快的存取速度,它是硬盘内部存储和外界接口之间的缓冲器。由于硬盘的内部数据传输速度和外界介面传输速度不同,缓存在其中起到一个缓冲的作用。缓存的大小与速度是直接关系到硬盘的传输速度的重要因素,能够大幅度地提高硬盘整体性能。

(3).Cache

CPU缓存(Cache Memory)是位于CPU与内存之间的临时存储器,它的容量比内存小的多但是交换速度却比内存要快得多。缓存的出现主要是为了解决CPU运算速度与内存读写速度不匹配的矛盾,因为CPU运算速度要比内存读写速度快很多,这样会使CPU花费很长时间等待数据到来或把数据写入内存。在缓存中的数据是内存中的一小部分,但这一小部分是短时间内CPU即将访问的,当CPU调用大量数据时,就可避开内存直接从缓存中调用,从而加快读取速度

(4).CPU中断

当CPU执行完一条现行指令时,如果外设向CPU发出中断请求,那么CPU在满足响应的情况下,将发出中断响应信号,与此同时关闭中断,表示CPU不在受理另外一个设备的中断。这时,CPU将寻找中断请求源是哪一个设备,并保存CPU自己的程序计数器(PC)的内容。然后,他将转移到处理该中断源的中断服务程序。CPU在保存现场信息,设备服务(如交换数据)以后,将恢复现场信息。在这些动作完成以后,开放中断,并返回到原来被中断的主程序的下一条指令。

(5).上下文切换

上下文切换(Context Switch) 或者环境切换

多任务系统中,上下文切换是指CPU的控制权由运行任务转移到另外一个就绪任务时所发生的事件。

在操作系统中,CPU切换到另一个进程需要保存当前进程的状态并恢复另一个进程的状态:当前运行任务转为就绪(或者挂起、删除)状态,另一个被选定的就绪任务成为当前任务。上下文切换包括保存当前任务的运行环境,恢复将要运行任务的运行环境。

进程上下文用进程的PCB(进程控制块,也称为PCB,即任务控制块)表示,它包括进程状态,CPU寄存器的值等。

通常通过执行一个状态保存来保存CPU当前状态,然后执行一个状态恢复重新开始运行。

上下文切换会对性能造成负面影响。然而,一些上下文切换相对其他切换而言更加昂贵;其中一个更昂贵的上下文切换是跨核上下文切换(Cross-Core Context Switch)。一个线程可以运行在一个专用处理器上,也可以跨处理器。由单个处理器服务的线程都有处理器关联(Processor Affinity),这样会更加有效。在另一个处理器内核抢占和调度线程会引起缓存丢失,作为缓存丢失和过度上下文切换的结果要访问本地内存。总之,这称为“跨核上下文切换”。

 

6.进程和线程

进程概念  

  进程是表示资源分配的基本单位,又是调度运行的基本单位。例如,用户运行自己的程序,系统就创建一个进程,并为它分配资源,包括各种表格、内存空间、磁盘空间、I/O设备等。然后,把该进程放人进程的就绪队列。进程调度程序选中它,为它分配CPU以及其它有关资源,该进程才真正运行。所以,进程是系统中的并发执行的单位。

 线程概念  

  线程是进程中执行运算的最小单位,亦即执行处理机调度的基本单位。如果把进程理解为在逻辑上操作系统所完成的任务,那么线程表示完成该任务的许多可能的子任务之一

进程和线程的关系  

(1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。  (2)资源分配给进程,同一进程的所有线程共享该进程的所有资源。  

(3)处理机分给线程,即真正在处理机上运行的是线程。  

(4)线程在执行过程中,需要协作同步。不同进程的线程间要利用消息通信的办法实现同步。

 

相关学习推荐:linux视频

注意:

 1.Linux是大小写敏感的系统,举个例子,Mozilla, MOZILLA, mOzilla和 mozilla是四个不同的命令(但是只有第四个mozilla是真正有效的命令)。还有,my_filE, my_file,和 my_FILE是三个不同的文件。用户的登录名和秘密也是大小写敏感的(这是因为UNIX系统和C语言的传统一向是大小写敏感所致)。 

2.文件名最多可以有256个字符,可以包含数字,点号”.”,下划线”_”,横杆”-”,加上其他一些不被建议使用的字符。 

3.文件名前面带”.”的文件在输入”ls”或者”dir” 命令时一般不显示。可以把这些文件看作是隐含文件,当然你也可以使用命令”ls –a”来显示这些文件。 

4.“/”对等于DOS下的””(根目录,意味着所有其他目录的父目录,或者是在目录之间和目录和文件之间的一个间隔符号)。举个例子,cd /usr/doc。 

5.在Linux系统下,所有的目录显示在单一目录树下(有别于DOS系统的驱动器标识)。这意味着所有的物理设备上的所有文件和目录都合并在单一的目录树下。 

6.在配置文件里,以#打头的行是注释行。在修改配置文件的时候尽量不要删除旧的设置――可以把原来的设置加上”#”变成注释行,总是在修改地方对应地加入一些关于修改的注释,你会发觉在以后的管理中获益多多。 

7.Linux是继承性的多用户操作系统。你的个人设定(和其他用户的个人设定)放在你的主目录下(一般是/home/your_user_login_name)。许多的配置文件的文件名都以”.”开头,这样用户一般看不到这些文件。 

8.整个系统范围的设定一般放在目录/etc下。 

9.和其他的多用户操作系统类似,在Linux下,文件和目录有自己的拥有者和访问权限。一般来说,你只被允许文件到你的主目录下(/home/your_user_login_name)。学习一些关于文件权限管理的相关知识,否则你肯定会觉得Linux实在很麻烦。 

10.命令参数选项一般由”-”引导,后面跟一个字符(或者”–“,当选项超过一个字符时)。这样,”-”有点象DOS下的”/”。举个例子,输入命令 rm –help。

相关推荐:编程视频课程

以上就是linux操作系统基础知识有哪些的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/548987.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
How does artificial intelligence (AI) transform the internet of things (IoT)?
上一篇 2025年11月9日 19:10:07
Linux strings命令能找出哪些隐藏信息
下一篇 2025年11月9日 19:10:11

相关推荐

  • 学习CSS选择器通配符的基础知识和用法

    了解CSS选择器通配符的基础知识及使用方法 在CSS中,选择器是用来选择HTML文档中的元素并对其应用样式的工具。其中,CSS选择器通配符是一种强大的选择器,可以用来匹配符合特定条件的元素。本文将介绍通配符的基础知识以及使用方法,并提供具体的代码示例。 通配符是CSS中的特殊字符,用于表示任意元素。…

    2025年12月24日
    000
  • 学习HTML响应式布局的基础知识和技巧,从零开始

    学习HTML响应式布局的基本知识和技巧 随着移动设备的普及,响应式布局成为了设计和开发网站的必备技能。响应式布局可以让网站在不同屏幕尺寸下自动调整布局和显示效果,提供更好的用户体验。本文将介绍如何从零开始学习HTML响应式布局的基本知识和技巧,并提供具体的代码示例。 一、HTML媒体查询 媒体查询是…

    2025年12月21日
    000
  • 学习canvas,需要了解哪些基本概念?

    学习canvas需要掌握哪些基础知识? 随着现代Web技术的发展,使用HTML5中的标签进行绘图成为一种常见的方式。Canvas是一种用于绘制图形、动画和其他图像的HTML元素,它可以利用JavaScript进行操作和控制。如果你想要学习canvas并掌握其基础知识,下面将为你详细介绍。 HTML和…

    2025年12月21日
    000
  • 掌握canvas基本知识:不可不知的全部内容

    Canvas是HTML5中的一个新标签,它提供了一种可以通过JavaScript进行绘图的方式。通过使用Canvas,我们可以在网页上绘制图形、创建动画、处理图像以及实现交互性的效果。本文将介绍Canvas的基础知识,包括如何创建Canvas元素、绘制基本形状和路径、绘制文本、使用图像等,同时提供详…

    2025年12月21日
    000
  • HTML基础知识

    本篇文章主要介绍html基础知识,感兴趣的朋友参考下,希望对大家有所帮助。 打开DREAMWEAVER,新建HTML。。 body的属性: bgcolor                页面背景色 background            背景壁纸、图片 立即学习“前端免费学习笔记(深入)”; t…

    用户投稿 2025年12月21日
    000
  • HTML的基础知识.关于css样式表和样式属性的详细介绍

    这次给大家带来html的基础知识.关于css样式表和样式属性的详细介绍,使用html的基础知识css样式表和样式属性的注意事项有哪些,下面就是实战案例,一起来看一下。 一、position:fixed     锁定位置(相对于浏览器的位置),例如有些网站的右下角的弹出窗口。 二、position:a…

    用户投稿 2025年12月21日
    000
  • HTML基础知识,关于超链接设置的样式的详细介绍

    这次给大家带来html基础知识,关于超链接设置的样式的详细介绍,设置html的超链接样式的注意事项有哪些,下面就是实战案例,一起来看一下。 ***设置超链接的样式示例  a:link 超链接被点前状态 a:visited 超链接点击后状态 a:hover 悬停在超链接时 立即学习“前端免费学习笔记(…

    用户投稿 2025年12月21日
    000
  • 怎样用JavaScript使用RaspberryPi?

    在raspberry pi上使用javascript开发需要安装node.js。步骤如下:1. sudo apt-get update 2. sudo apt-get install nodejs npm。安装后,可使用onoff模块控制gpio端口,如点亮led灯。 用JavaScript在Ras…

    2025年12月20日
    000
  • 如何在 Raspberry Pi 上设置 Nodejs Web 服务器

    如何在 Raspberry Pi 上设置 Nodejs Web 服务器如何在 Raspberry Pi 上设置 Nodejs Web 服务器如何在 Raspberry Pi 上设置 Nodejs Web 服务器如何在 Raspberry Pi 上设置 Nodejs Web 服务器

    几年前,我入手了一台raspberry pi model b,并决定在其上搭建一个网络服务器。 虽然看起来很简单,但实际上Raspberry Pi本质上是一台微型电脑,需要安装操作系统才能运行,这与Arduino等其他开发板不同,后者无需操作系统即可运行程序。 以下是如何在Raspberry Pi上…

    2025年12月19日 用户投稿
    000
  • C语言函数基础知识有哪些?

    C语言函数基础知识有哪些? C语言函数基础知识有: 一、定义、声明和调用 函数:一段可以重复使用的代码函数三要素:返回值 函数名 函数形参列表函数声明:包含函数的三要素函数定义:函数的具体实现返回值:如果一个函数没有返回值,则写成 void函数形参列表:如果没有参数,写成空 ,变量之间用逗号隔开 二…

    2025年12月17日
    000
  • c++基础知识

    c++++基础知识 C++ 是一种中级语言,它是由 Bjarne Stroustrup 于 1979 年在贝尔实验室开始设计开发的。C++ 进一步扩充和完善了 C 语言,是一种面向对象的程序设计语言。C++ 可运行于多种平台上,如 Windows、MAC 操作系统以及 UNIX 的各种版本。C语言是…

    2025年12月17日
    000
  • Go语言编译时文件名 arm.go 的特殊行为及解决方法

    本文旨在解释Go语言中,当源文件被命名为 `arm.go` 时,可能出现的标识符未定义错误。我们将深入探讨这种现象背后的原因,即构建约束机制,并提供相应的解决方案,确保代码在不同架构下正确编译和运行。 在Go语言的开发过程中,你可能会遇到一个看似奇怪的问题:当你的Go源文件被命名为 arm.go 时…

    2025年12月16日
    000
  • Debian Swap与硬盘性能关系如何

    Debian Swap(交换空间)是Linux操作系统中的一个重要组件,它能够帮助系统在物理内存资源不足时,将一部分数据临时转移到硬盘上的指定区域,以便为其他进程腾出更多的物理内存。这一过程通常被称为“交换”或者“分页”。 硬盘的性能会对Debian Swap的表现造成多方面的制约: 交换速率:硬盘…

    2025年12月15日
    000
  • Debian的硬件驱动支持如何

    Debian是一款广受欢迎的开源Linux操作系统,以其卓越的稳定性和安全性闻名。以下是有关Debian硬件驱动支持的具体详情: Debian硬件驱动支持概览 Debian兼容多种硬件平台,涵盖了x86、x86_64、ARM、MIPS以及PowerPC等多种架构。该系统内置了大量软件包与实用工具,便…

    2025年12月15日
    000
  • Sedebian适合新手吗

    Sedebian并不是一个广为人知的Linux发行版,也没有被普遍视为Debian的直接替代品。因此,关于Sedebian是否适合新手用户,目前尚无足够的资料可供参考。不过,我可以为您提供一些有关Debian及其衍生版本的相关信息,这或许能对您理解Sedebian有所帮助。 Debian是一款以稳定…

    2025年12月15日
    000
  • 在树莓派上高效配置Tesseract OCR:避免Windows兼容性陷阱

    本文旨在指导用户在树莓派上正确安装和配置Tesseract OCR,避免因误用Windows二进制文件和Wine环境导致的路径错误。教程将详细介绍如何利用树莓派OS(基于Debian)的包管理系统进行原生安装,并演示pytesseract库的正确配置与使用,确保Tesseract OCR在Linux…

    2025年12月14日
    000
  • 解决树莓派上Tesseract OCR的安装与路径问题

    本教程旨在解决在树莓派上安装和配置Tesseract OCR时遇到的常见问题,特别是因错误使用Windows二进制文件和Wine环境导致的路径错误。我们将详细指导如何通过树莓派OS的官方软件源或预构建的Debian二进制包正确安装Tesseract,并确保Python pytesseract库能够正…

    2025年12月14日
    100
  • Python爬虫技术入门教程 Python爬虫基础知识点有哪些

    学python爬虫的关键在于掌握核心基础并动手实践。1. 首先要了解http请求与响应机制,包括get/post方法、headers作用及常见状态码,使用requests库发送请求获取数据;2. 掌握html结构解析,利用beautifulsoup或lxml配合css选择器或xpath精准提取所需内…

    2025年12月14日
    100
  • 上下文、运行环境和执行环境:程序运行的差异究竟在哪里?

    程序运行的基石:深入剖析上下文、运行环境和执行环境 程序的运行依赖于多个关键因素,其中“上下文”、“运行环境”和“执行环境”这三个概念尤为重要,它们既相互关联又各有侧重。本文将深入探讨这三者的区别与联系,帮助您更全面地理解程序运行机制。 首先,让我们了解“上下文”。上下文指的是组件在其运行容器中所拥…

    2025年12月13日
    000
  • Django AllAuth 章 使用自定义字段扩展 Django AllAuth 用户模型

    注意:本文最初发布在我的 substack 上,网址为 https://andresalvareziglesias.substack.com/ 这是 django allauth 系列文章的最后一章。在这五章中,我们发现了一个小奇迹,一个非常有用的 django 组件来处理我们所有的身份验证需求。在…

    2025年12月13日
    000

发表回复

登录后才能评论
关注微信