欢迎来到010在线作文网!

学习Linux的心得3篇(2)

心得体会 时间:2021-08-31 手机版

  篇三:学习Linux的心得

  Linux操作系统这个名词记得在很早以前就听过,但当时并不知道具体是什么样的操作系统,只知道是一个与嵌入式密切相关的操作系统。因为我是学习嵌入式方向的,这学期就选修了这门专业任选课。为了更好的学习这门课程,我不仅课上认真听讲,课下也努力学习,为此还在自己的电脑上安装了linux6.0系统。眼看这个学期的Linux课程已经告一段落了,我觉得有必要写一遍心得体会来总结一下这学期对着门课程的学习。

一、Linux简介

  Linux是一种广泛使用的类UNIX操作系统,它不仅可以在Intel,AMD等系列个人计算机上运行,也可以运行在许多工作站上。它是真正多用户、多任务操作系统,他继承了UNIX系统的主要特征,具有强大的信息处理功能,特别在Internet和Intranet应用中占有明显优势。 1991年,芬兰赫尔辛基大学的学生Linux Torvalds在Inter386个人计算机上开发了Linux核心,并利用互联网发布了源代码,从而创建了Linux操作系统。之后,许多系统软件设计专家共同对它进行改进和提高。

  到现在为止,Linux已成为具有全部UNIX特征、与POSIX兼容的操作系统。 Linux的功能强大而全面,与其他操作系统相比,具有一系列显著特点:1.与UNIX系统兼容。2.自由软件和源码公开。3.性能高和安全性强。4.便于定制和再开发。 5.互操作性高。6.全面的多任务和真正的32位操作系统,当今的Linux有两种版本:核心版本和发行版本。其中核心版本主要是Linux的内核。随着Linux技术的更加成熟、完善,其应用领域和市场份额继续快速增大。目前,其主要应用领域是服务器系统和嵌入式系统。然而,它的足迹已遍布各个行业,几乎无处不在。

二、Linux与Window的区别的联系

  Windows 是图形界面的,Linux类似以前的 DOS,是文本界面的,如果你运行了图形界面程序 X-WINDOWS 后,Linux 也能显示图形界面,也有开始菜单、桌面、图标等。Windows有MS-DOS 方式,在该方式下通过输入DOS命令来操作电脑;Linux与Windows类似,也有命令方式,Linux 启动后如果不执行 X-WINDOWS,就会处于命令方式下,必须发命令才能操作电脑。 它不同于Windows 系统需要花钱购买,因为Linux的核心是免费的,自由使用的,核心源代码是开放的。任何人都可以根据自己的喜好来定制适合自己的操作系统,Linux 是抢占式多任务多用户操作系统,Linux 最大的优点在于其作为服务器的强大功能,同时支持多种应用程序及开发工具,所以Linux操作系统有着广泛的应用空间。

三、我学习Linux的收获

  通过这学期的学习,我慢慢的学习到了更深入的知识内存寻址,进程,内存管理,中断与异常,系统调用,内核中的同步,以及文件系统等,下来浅谈几个自己掌握的比较好的方面:

1、内存寻址:

  内存寻址是指CPU允许支持的内存大小。双通道内存技术其实是一种内存控制和管理技术,它依赖于芯片组的内存控制器发生作用,在理论上能够使两条同等规格内存所提供的带宽增长一倍。当计算机面临大量的数据流时,32位的寄存器和指令集不能及时进行相应的处理运算。32位处理器一次只能处理32位,也就是4个字节的数据;而64位处理器一次就能处理64位,即8个字节的数据。举例来说,32位好像是单车道,当车流过大的时候,就会无法承载,而64位好比高速公路,在多任务,多程序处理的情况下,64位计算平台能随意加速、把电脑性能发挥到极致。

2、Linux进程调度:

  内核线程只运行在内核态,不受用户态上下文的拖累,唯一使用的资源是内核栈和上下文切换时保持寄存器的空间,调度时的开销可能和进程自身差不多昂贵,资源的同步和数据共享比整个进程的数据同步和共享要低一些

  a.调度过程:由在用户空间实现的线程库,在所属进程内进行调度 Linux使用的线程库 LinuxThreads是用户空间的线程库,所采用的是线程-进程1对1模型(即一个用户线程对应一个轻量级进程,而一个轻量级进程对应一个特定的内核线程),将线程的调度等同于进程的调度,调度交由内核完成,而线程的创建、同步、销毁由核外线程库完成(LinuxThtreads 已绑定到GLIBC中发行)。 在LinuxThreads中,由专门的一个管理线程处理所有的线程管理工作。当进程第一次调用pthread_create()创建线程时就会先创建(clone())并启动管理线程。后续进程 pthread_create()创建线程时,都是管理线程作为pthread_create()的调用者的子线程,通过调用clone()来创建用户线程,并记录轻量级进程号和线程id的映射关系,因此,用户线程其实是管理线程的子线程。LinuxThreads只支持调度范围为PTHREAD_SCOPE_SYSTEM的调度,默认的调度策略是SCHED_OTHER。用户线程调度策略也可修改成SCHED_FIFO或SCHED_RR方式,这两种方式支持优先级为0-99,而SCHED_OTHER只支持0。

  b.linux内核的三种调度方法: 1.SCHED_OTHER 分时调度策略2.SCHED_FIFO实时调度策略,先到先服务 3.SCHED_RR实时调度策略,时间片轮转

  ①当所有任务都采用linux分时调度策略时步骤:

  1)创建任务指定采用分时调度策略,并指定优先级nice值(-20~19)

  2)将根据每个任务的nice值确定在cpu上的执行时间(counter)。

  3)如果没有等待资源,则将该任务加入到就绪队列中

  4)调度程序遍历就绪队列中的任务,通过对每个任务动态优先级的计算(counter+20-nice)结果,选择计算结果最大的一个去运行,当这个时间片用完后(counter减至0)或者主动放弃cpu时,该任务将被放在就绪队列末尾(时间片用完)或等待队列(因等待资源而放弃cpu)中。

  5)此时调度程序重复上面计算过程,转到第4步。

  6)当调度程序发现所有就绪任务计算所得的权值都为不大于0时,重复第2步。

  ②当所有任务都采用FIFO时的步骤:

  1)创建进程时指定采用FIFO,并设置实时优先级rt_priority(1-99)。

  2)如果没有等待资源,则将该任务加入到就绪队列中。

  3)调度程序遍历就绪队列,根据实时优先级计算调度权值(1000+rt_priority),选择权值最高的任务使用cpu,该FIFO任务将一直占有cpu直到有优先级更高的任务就绪(即使优先级相同也不行)或者主动放弃(等待资源)

  4)调度程序发现有优先级更高的任务到达(高优先级任务可能被中断或定时器任务唤醒,再或被当前运行的任务唤醒,等等),则调度程序立即在当前任务堆栈中保存当前cpu寄存器的所有数据,重新从高优先级任务的堆栈中加载寄存器数据到cpu,此时高优先级的任务开始运行。重复第3步。

  5)如果当前任务因等待资源而主动放弃cpu使用权,则该任务将从就绪队列中删除,加入等待队列,此时重复第3步。

  ③所有任务都采用RR调度策略时的步骤:

  1)创建任务时指定调度参数为RR,并设置任务的实时优先级和nice值(nice值将会转换为该任务的时间片的长度)

  2)如果没有等待资源,则将该任务加入到就绪队列中

  3)调度程序遍历就绪队列,根据实时优先级计算调度权值(1000+rt_priority),选择权值最高的任务使用cpu

  4)如果就绪队列中的RR任务时间片为0,则会根据nice值设置该任务的时间片,同时将该任务放入就绪队列的末尾。重复步骤3.

  5)当前任务由于等待资源而主动退出cpu,则其加入等待队列中。重复步骤3

 3、Linux内存管理:

  在Linux中经常发现空闲内存很少,似乎所有的内存都被系统占用了,表面感觉是内存不够用了,其实不然。这是Linux内存管理的一个优秀特性,在这方面,区别于Windows的内存管理。主要特点是,无论物理内存有多大,Linux 都将其充份利用,将一些程序调用过的硬盘数据读入内存,利用内存读写的高速特性来提高Linux系统的数据访问性能。Linux的这一特性,主要是利用空闲的物理内存,划分出一部份空间,做为cache、buffers ,以此提高数据访问性能。页高速缓存(cache)是Linux内核实现的一种主要磁盘缓存。它主要用来减少对磁盘的I/O操作。具体地讲,是通过把磁盘中的数据缓存到物理内存中,把对磁盘的访问变为对物理 内存的访问。

  A.内存管理机制:

  我们知道,直接从物理内存读写数据要比从硬盘读写数据要快的多,因此,我们希望所有数据的读取和写入都在内存完成,而内存是有限的,这样就引出了物理内存与虚拟内存的概念。物理内存就是系统硬件提供的内存大小,是真正的内存,相对于物理内存,在Linux下还有一个虚拟内存的概念,虚拟内存就是为了满足物理内存的不足而提出的策略,它是利用磁盘空间虚拟出的一块逻辑内存,用作虚拟内存的磁盘空间被称为交换空间。

  作为物理内存的扩展,Linux会在物理内存不足时,使用交换分区的虚拟内存,更详细的说,就是内核会将暂时不用的内存块信息写到交换空间,这样以来,物理内存得到了释放,这块内存就可以用于其它目的,当需要用到原始的内容时,这些信息会被重新从交换空间读入物理内存。

  Linux的内存管理采取的是分页存取机制,为了保证物理内存能得到充分的利用,内核会在适当的时候将物理内存中不经常使用的数据块自动交换到虚拟内存中,而将经常使用的信息保留到物理内存。

  Linux系统最大的有点就是它的开源性,这点是十分难得的,也是它能够存在到现在一个重要原因。随着IT从业人员的增多,理论上会有更多的人使用Linux操作系统。所以可以肯定,Linux在今后很长一段时间内不会消失。Linux操作简单,占内存少,特别是对程序开发人员来说Linux很简单。目前全球资源供应紧张,建立资源节约型社会已成为人类社会的共识,所以Linux在资源节约型社会的构建过程中将发挥更大的作用。Linux的前途无限光明。

  以上是我对这学期来学习Linux的心得体会,非常感谢老师在课堂上的谆谆教诲,也感谢同学们在课后对我的帮助。


本文来源http://www.010zaixian.com/shiyongwen/xindetihui/124180.htm
以上内容来自互联网,请自行判断内容的正确性。若本站收录的信息无意侵犯了贵司版权,请给我们来信(zaixianzuowenhezi@gmail.com),我们会及时处理和回复,谢谢.