云计算发展前景,linux系统课程

在我们的Linux学习中,由于一些翻译问题,会导致我们在学习中遇到一些生僻的、相似的词与概念。有的很难理解,有的很容易混淆。在Linux系统中,对于用户创建的进程(线程)来说,CPU分配时间片的单位是线程还是进程?

是线程。线程是实际工作的单元,进程只是一个容器,用来管理一个或多个线程。

1.这是不是就意味着尽量使用多线程并发,这样可以抢到更多的时间片。

理论上是的,多线程的一种用途就是能同时做好几件事情,以提高效率。但实际问题是,CPU的数量(核心数,下同)是有限的,而且并不多。如果你的CPU有8个CPU,并且整个系统中有8个线程的话,不考虑中断等因素,每个线程理论上能一直执行下去。然而多于8个线程以后,操作系统就必须进行调度,也就是分配时间片。具体的分配方案,或者说调度算法有很多种。如果一个进程创建了很多线程的话,最多也只有8个能够处于执行的状态[2],其余的线程必须等待调度。线程被调度的时候需要进行上下文切换,这个操作是一种额外的开销。线程数量过多的时候,上下文切换产生的额外开销会对系统的效率造成负面影响。

2.操作系统对于拥有多线程的进程,是否会减少其每个线程的时间片,或做其他处理来保证公平性?

这就是调度算法需要考虑和优化的问题。比如线程和进程有优先级,在抢占式的调度中,优先级高的线程可以从优先级低的线程那里抢占CPU。另外,在多CPU平台上,调度算法还要考虑缓存的关联性等。

在一个进程中的多个线程要注意在可能的情况下将本线程阻塞,将剩余的时间片让给兄弟线程。

在主流的操作系统实现里,一般进程是不能直接控制自己的线程的执行顺序的。也就是说,把一个线程挂起并不能保证另一个线程一定能够被执行。

Linux内核其实不区分进程和线程,内核把执行单元叫做任务(task)。操作系统实际上调度的是进程,进程通过fork()来创建同样的另一个进程。每个进程有一个PID,同一组进程中最先启动的那个还有一个TGID。严格来说前者应该叫线程ID,后者应该叫进程ID。Linux里的线程实际上是共享一些资源的一系列进程而已。

原文地址:http://blog.51cto.com/13694927/2144986

时间: 2024-07-30 19:25:52

云计算发展前景,linux系统课程的相关文章

【课程分享】深入浅出嵌入式linux系统移植开发 (环境搭建、uboot的移植、嵌入式内核的配置与编译)

深入浅出嵌入式linux系统移植开发 (环境搭建.uboot的移植.嵌入式内核的配置与编译) 亲爱的网友,我这里有套课程想和大家分享,如果对这个课程有兴趣的,可以加我的QQ2059055336和我联系. 课程内容简介 本课程重点是给大家讲解嵌入式linux系统移植的开发方法,采用理论与实践,硬件与软件相结合的方法. 1.在每节开始之前先简单回顾上一节所讲的主要内容,并对本节所讲的内容先进行概述,讲解概念.技术要点,设计实现思路等内容,最后总结本次课程的要掌握的要点. 2.在讲课的过程中对关键技术

Linux系统软件包的管理   3月30日课程

Linux系统软件包的管理 一. rpm工具 rpm Redhat Package Manager, 设计理念是开放的,不仅仅是在RedHat平台上,在SUSE上也是可以使用的. rpm包名字构成由-和.分成了若干部分,如abrt-cli-2.0.8-15.el6.centos.i686.rpm, abrt-cli:是包名 2.0.8-15:是版本号 el6:指的是redhat企业版6 centos:指的是这是在centos上用的 i686:指的是平台类型 有些rpm包并没有写具体的平台而是no

linux系统usb挂载

本次例程的环境是在FC6下,通过终端操作的. 注意要挂载U盘需要有管理员的权限. 切换成管理员,输入: su root 然后输入管理员密码,进行密码认证: 成功后,先在 /mnt 下建立一个名叫USB的文件夹,文件夹名称随意: mkdir /mnt/USB 然后将U盘插入电脑的USB接口,再输入: fdisk –l 查看一下磁盘分区的变化情况,我们可以在下图中看到多出了一个 /dev/sdb1 的分区,这个就是刚才插入的U盘设备,当然在不同的系统环境显示的U盘设备名称有所不同: 挂载成功后,我们

实验 1 Linux 系统的安装和常用命令

厦门大学林子雨,赖永炫,陶继平 编著 <Spark 编程基础(Scala 版)> 教材配套 机房上机实验指南 (版本号:2018 年 7 月 19 日版本) (题目) 主讲教师:林子雨 厦门大学数据库实验室 二零一八年七月目录 目录 一.实验目的..............................................................................................................................

Linux系统理解以及Linux系统学习心得

原创作品转载请注明出处  <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 作者:严哲璟 说一下我对Linux系统的理解 1.加载Linux内核准备:在加载基本输入输出模块(BIOS)之后,从磁盘的引导扇区读入操作系统的代码文件块到内存中,之后开始整个系统的初始化. 2.main.c的start_kernel函数是整个操作系统的入口,这也与Linux是基于C语言的特性相符,start_kernel具体做的动作很多

Linux系统运维与架构设计

一 本章概览 介绍Linux系统运维与架构设计的方方面面 二 Linux基础入门 认识计算机核心硬件和服务器 Linux发展历史.系统组成.应用领域以及发行版 搭建运维环境:VMWareWorkStation.SecureCRT的使用 Linux系统的基本使用 Shell入门以及命令概述 三 Linux系统管理 文件目录管理 用户管理 权限管理 VIM编辑器的使用 文档压缩打包 程序包管理 网络管理 文件系统管理 内存管理 系统管理(监控.环境变量) 安全管理(selinux,iptables)

Linux系统运维工程该具备哪些素质

记得在上高中时,物理老师总是会对我们一句话:"学习是件苦差事."工作后发现,其实做运维也是件苦差事.最为一名运维工程师,深知这一行的艰辛,但和IT行业其他职务一样,那就是付出的越多,回报的也就越多.回想起成为运维的学习路程,我总想着能给运维新手和以后想从事运维行业的朋友总结一些经验和我看过的书籍,后面会介绍到,他们不要再踩我踩过的坑. 第一点,学好Linux.运维行业的门槛很低,我说的低其实是学历的要求低,因为据我所知还没有大学开设了运维专业.开始找工作时我了解到,一般公司的运维岗位不

技术宅学习Linux系统还是很有前途的

老实说,我之所以入了Linux的坑,纯粹只是为了追我现在的男朋友,也就是技术宅.如果不是为了追我男朋友的话,我估计我这辈子都不会去接触linux.好吧,今天写一写过往事情,也是为了怀念当初追男友的一些故事吧. 我大学专业是金融管理,现在的男友专业是计算机.男友是那种性格极其沉闷的人,也不愿意参与任何社交的活动.按理说,男友这样的性格,又和自己不是一个专业,我们应该难以认识的.但是有时候上天就会这么悄悄眷顾你的爱情.在一次大课的时候,我们专业和计算机专业安排一起上课.那天上课的时候,我刚好迟到,于

Linux与云计算——第二阶段Linux服务器架设 第六章:目录Directory服务器架设—FreeIPA

Linux与云计算--第二阶段Linux服务器架设 第六章:目录Directory服务器架设-FreeIPA 1 FreeIPA 配置FreeIPA服务器 Configure IPA Server to share users' account in your local network. [1] Install FreeIPA. [[email protected] ~]# yum -y install ipa-server ipa-server-dns bind bind-dyndb-lda