linux知识点总结
linux思维导图期末知识点总结
linux思维导图期末知识点总结环境:虚拟机/云服务器
许多程序需要开机启动,它们在win叫服务,在linux叫守护进程,init进去运行开机启动的程序。
正常情况下,很少遇到关机情况。
正确关机流程:sync > shutdown > reboot > halt
区别于重启系统和关闭系统,都要运行sync,把内存中的数据写到磁盘中
关机命令:shutdown –h now halt poweroff 和 init 0
重启系统的命令:shutdown –r now reboot init 6
内核版本
cat /etc/issue
系统版本
cat /proc/version
1、yum源进行备份进入到yum源的配置文件中执行命令如下:cd /etc/yum.repos.d将yum源进行备份:mv Centos-Base.repo Centos-Base.repo.bak
2、获取阿里的yum源配置文件执行命令:wget -O Centos-Base.repo
3、对yum源生成缓存执行命令:yum makecache
4、更新yum源执行命令:yum -y install update执行完成之后就可以使用yum源了,到此yum源就更换成功了。
在 Linux 或 Unix 操作系统中,所有的文件和目录都被组织成以一个根节点开始的倒置的树状结构。
文件系统的最顶层是由根目录开始的,系统使用 / 来表示根目录。在根目录之下的既可以是目录,也可以是文件,而每一个目录中又可以包含子目录文件。如此反复就可以构成一个庞大的文件系统。
linux知识点总结考试
linux知识点总结考试
一、Linux简介
Linux是一种自由和开放源代码的Unix-like操作系统,其内核由Linus Torvalds创建。Linux操作系统以其稳定性、安全性和定制性而闻名,广泛应用于服务器、嵌入式设备和个人电脑等各种领域。
二、Linux基本命令
1. ls:列出文件和目录
2. cd:切换目录
3. pwd:显示当前工作目录
4. mkdir:创建目录
5. rmdir:删除目录
6. touch:创建空文件
7. rm:删除文件
8. cp:复制文件
9. mv:移动文件
10. cat:查看文件内容
11. more/less:分屏查看文件内容
12. head/tail:查看文件头部/尾部
13. grep:查找文件内容
14. tar:打包和解压文件
15. find:查找文件
16. chmod:修改文件权限
17. chown:修改文件所有者
18. chgrp:修改文件所属组
19. vi/vim:文本编辑器
20. nano:另一种文本编辑器
三、Linux文件系统
1. Linux文件系统的基本组成
Linux文件系统由文件和目录组成,所有的文件和目录都有相应的权限、所有者和所属组。
2. 文件系统的结构
Linux文件系统采用树状结构,根目录为/,其下有各种子目录,例如/bin、/etc、/home 等。
3. 文件系统的特点
Linux文件系统采用了一种类Unix的权限管理机制,将用户和组织划分为不同的层次,可以通过权限来控制文件和目录的访问权限。
四、Linux用户和组
1. 用户的添加和删除
Linux知识点总结
第一章
1.Linux是多用户、多任务操作系统。
2.程序是计算机完成一项任务的指令集合。
3.数据是由程序使用或生成的不同类型的信息。
4.软件分为三大类:
(1)系统软件
(2)应用软件
(3)支撑软件
5.系统软件包括操作系统、编译程序、汇编程序、数据库管理系统、网络软件等。系统软件对计算机系
统的资源进行控制、管理,并为用户的应用和其他程序的运行提供服务。
6.支撑软件包括编辑程序、查错程序、项目管理程序等。辅助软件技术人员从事软件开发和项目管理人
员进行项目管理工作的软件。
7.应用软件是为解决某一类应用需要或某个特定问题而设计的程序。
8.Linux提供4种不同的用户接口:
(1)命令行接口
(2)菜单
(3)图形用户接口
(4)程序接口
9.命令解释程序称为shell。
10.程序接口也称为系统调用接口。系统调用时操作系统内核与用户程序、应用程序之间的接口。
11.内核之外的程序都必须经由系统调用才能获得操作系统的服务。系统调用只能在C程序中使用,不能
作为命令在终端上执行。由于系统调用能直接进入内核执行,所以执行效率很高。
12.Linux解决资源使用过程中的冲突,保证资源最后能被系统再次使用所采取的方法:
(1)通过记录和文件加锁,保证数据的完整性
(2)利用调度进程和审计系统
(3)当系统出现错误时,提供错误诊断信息
(4)终止运行不正常的进程,甚至在最坏的情况下停止系统
13.软件以是否以营利为目的分为三种模式:
(1)商业软件
(2)共享软件
(3)自由软件
14.Linux用户分为:
(1)个人用户
(2)专业用户
(3)商业用户
linux考试知识点总结
linux考试知识点总结
Linux操作系统是一种开源的操作系统,广泛应用于服务器、嵌入式设备和智能手机等领域。由于其稳定性、安全性和灵活性,越来越多的企业和个人选择使用Linux系统。而对于一名Linux系统管理员或者开发人员来说,掌握Linux系统的相关知识是非常重要的。为了帮助大家更好地备战Linux考试,本文将对Linux考试的知识点进行总结和整理。
一、Linux基础知识
1. Linux概述
Linux是一种开源的类Unix操作系统,最初由芬兰计算机科学家Linus Torvalds在1991年创建。Linux操作系统基于Unix操作系统,其内核是由C语言编写的,并被授权为GNU通用公共许可证下的自由软件。Linux系统具有很高的稳定性、安全性和灵活性,广泛应用于服务器、嵌入式设备和智能手机等领域。Linux系统的发展离不开全球开源社区的贡献,目前已经发展成为一个庞大、强大的操作系统。
2. Linux文件系统
Linux文件系统是Linux系统中用于管理文件和目录的一种系统。Linux文件系统有多种不同的类型,其中包括ext3、ext4、XFS、btrfs等。每种文件系统都有各自的特性和适用场景,可以根据实际情况在不同的文件系统之间进行选择。
3. Linux命令行操作
在Linux系统中,命令行操作是非常重要的一部分。通过命令行操作,可以方便地对系统进行管理和操作。常用的Linux命令包括ls、cd、pwd、cp、mv、rm、mkdir、rmdir、touch、cat、more、less、head、tail、chown、chmod、grep等等。
Linux基础知识点
Linux基础知识点(补充课上重点,ppt)
第一章 Linux简介
登录
• 根用户名使用root,密码123456
• 登陆后命令提示符【root @ host dev】
• root用户的命令行提示符#
• 普通用户的命令行提示符$
文本虚拟控制台tty
Linux支持6个tty,tty1~tty6.系统启动后自动使用的是tty1. 使用Alt+F1~F6可以切换tty1~tty6。
Xwindow与字符控制台切换
• xwindow图形界面---切换--->>文本控制台
Ctrl+Alt+F2
• 文本控制台---切换--->>xwindow图形界面
Ctrl+Alt+F7
关机
• 立刻关机shutdown –h now
• 关机后重启shutdown –r now或reboot
切换用户命令——su
在tty下,使用logout命令或exit命令退出系统.
第二章文件系统
Linux 文件系统类型ext2 ext3(常用) swap
windows:盘符组织文件
linux:只有一个根目录/
Linux树形目录结构:bin dev etc home lib root tmp usr var
文件类型:文件名中不能含空格和某些特殊字符,如:! @ # $ %~ &* ( ) [ ] { } ' " \ / | ;< << >> >
• 文件名和命令均要区分大小写
• 文件名以. 开头,该文件为隐藏文件
• Linux的文件类型大致可分为普通文件、可执行文件、
链接文件和设备文件。
• 在Linux中,文件是否是可执行文件,不是由扩展名决
linux操作系统知识点
Linux 操作系统基础知识概览
以下是一些关于Linux 操作系统的常见知识点:
1.Linux 基础:
●Linux 的起源和发展历史
●Linux 的主要组成部分:内核、Shell、文件系统等
●常见的Linux 发行版(如Ubuntu、Debian、CentOS 等)
●常用的命令行工具和基本命令(如ls、cd、mkdir、rm 等)
2.用户和权限管理:
●用户账户的创建和管理
●用户组的概念和使用
●文件和目录的权限设置和管理
●sudo 权限和root 用户的重要性
3.文件系统:
●Linux 文件系统的层级结构
●常见的文件系统类型(如ext4、XFS、Btrfs 等)
●挂载和卸载文件系统
●磁盘和分区管理工具(如fdisk、parted 等)
4.进程管理:
●进程的概念和属性
●进程的创建、终止和管理
●进程状态的了解和监控
●进程间通信的方式(如管道、信号、共享内存等)
5.网络和安全性:
●网络配置和网络接口管理
●网络命令和工具(如ifconfig、ping、ssh 等)
●防火墙和安全性措施(如iptables、SELinux 等)
●远程访问和远程管理(如SSH、SCP、rsync 等)
6.软件包管理:
●软件包管理系统(如apt、yum、dnf 等)
●软件包的安装、升级和卸载
●软件包的依赖关系和解决依赖问题
●软件源和仓库的管理
7.Shell 脚本编程:
●Shell 脚本的基础语法和结构
●变量、条件语句、循环和函数的使用
●Shell 命令和管道的组合
●脚本的调试和错误处理
以上只是Linux 操作系统知识的一些常见方面,涵盖了基础知识、用户和权限管理、文件系统、进程管理、网络和安全性、软件包管理以及Shell 脚本编程等。要深入学习Linux,建议进一步学习和实践这些知识点,并探索更多高级主题,如网络服务配置、系统性能优化等。
linux考试知识点
linux考试知识点
以下是一些常见的Linux考试知识点:
1. Linux操作系统的基本原理和架构。
2. Linux的安装和配置。
3. Linux文件系统和目录结构。
4. Linux的命令行界面和常用命令。
5. Linux的网络基础知识,包括网络配置和TCP/IP协议。
6. Linux的用户和权限管理。
7. Linux的软件包管理。
8. Linux的Shell编程语言。
9. Linux服务器的部署和维护。
10. Linux的安全管理,包括防火墙和安全漏洞等。
11. Linux集群和负载均衡等高级知识。
12. Linux的应用程序开发和调试技术。
以上是一些常见的Linux考试知识点,需要根据考试的具体要求进行备考。
linux知识点汇总
linux知识点汇总
1.Linux文件系统:Linux文件系统是Linux操作系统中的基本组成部分,它负责管理文件和目录的创建、读取、修改和删除。常见的Linux文件系统包括Ext2、Ext3、Ext4、XFS、Btrfs等。
2. Shell命令:Shell是Linux系统的命令行解释器,它是用户和Linux内核之间的桥梁。常见的Shell命令包括cd、ls、mkdir、rm、cp、mv、cat、vim等。
3. 软件包管理器:Linux系统中的软件包管理器可以方便地安装、升级和删除软件包。常见的软件包管理器包括dpkg、rpm、apt、yum等。
4. 用户和权限管理:Linux系统中的用户和权限管理是保障系统安全的重要措施。常见的用户和权限管理命令包括useradd、userdel、usermod、passwd、chmod、chown等。
5. 网络配置:Linux系统中的网络配置包括IP地址、子网掩码、网关、DNS等。常见的网络配置命令包括ifconfig、route、ping、traceroute、nslookup等。
6. 服务管理:Linux系统中的服务管理包括启动、停止、重启和查看系统服务状态等。常见的服务管理命令包括systemctl、service等。
7. 进程管理:Linux系统中的进程管理包括查看进程状态、杀死进程、进程优先级调整等。常见的进程管理命令包括ps、kill、nice、renice等。
8. 文件压缩和解压缩:Linux系统中的文件压缩和解压缩可以方便地对文件和目录进行打包和解压缩。常见的文件压缩和解压缩命令包括tar、gzip、gunzip、zip、unzip等。
linux知识点
Linux的特点:
1开放性
2多用户
3多任务
4良好的用户界面5设备独立性
6提供丰富的网络功能
7可靠的系统安全8良好的可移植性
Linux的版本号分为:内核版本发行版本
内核的主要作用包括:
1进程调度
2内存管理
3配置管理虚拟文件系统
4提供网络接口
5支持进程间通信
Linux的安装主要有两种形式:
1光盘直接安装
2硬盘安装
Linux通过字母和数字的组合来标识硬盘区分,如hda2,hdb6,sda1等
第1.2个字母表明区分所在设备类型,如hd指IDE硬盘,sd指SCSI硬盘第3个字母表明区分属于哪个设备:sdb指第二个SCSI硬盘
第4个字母表示区分,前四个区分用数字1~4表示,逻开始
Sdb6指第二个SCSI硬盘上的第二个逻辑分区
一个硬盘最多有4个主分区
安装Linux至少需要两个分区:/和swap,即根分区和交换分区
Linux默认系统管理员账号是root
如果linux启动后进入命令行模式,要进入GOI,可执行#init5命令Redhat enterprise Linux5.2模式的系统引导工具是grub
Grub的用户界面有三种模式:菜单模式,菜单编辑模式,命令行模式Grub的默认菜单文件menu.Lst 其实是grub.conf文件的符号连接
Linux根分区的文件系统类型是ext3
Grub的命令行模式的命令提示符是grub>
Linux操作系统为用户提供了两种接口:命令接口程序接口
命令接口演化为两种主要形式:CLI和GUI
Shell为用户提供了输入命令和参数,并且可得到命令执行结果的环境
在bash中超级用户的提示符是#,普通用户的提示符是$
linux基础知识总结
linux基础知识总结
Linux是一种自由、开放的操作系统,广泛应用于服务器、超算等领域。下面是Linux基础知识的总结。
1. Linux是什么?
Linux是一种基于UNIX的操作系统核心,是自由软件和开放源代码的杰出代表。
2. Linux的优点
a.自由软件和开放源代码
b.稳定性高、安全性强
c.可定制性强、灵活性高
d.强大的网络功能
e.广泛的应用和支持
3. Linux的发行版本
Linux有各种发行版本,如Ubuntu、CentOS、Debian等。每个版本都有自己的特点和用途。
4. Linux的文件系统
Linux的文件系统采用的是树形结构,以根目录“/”为起点,下面分为各种目录,如/bin、/etc、/usr等。
5. Linux的命令行界面
Linux的命令行界面(shell)是与操作系统交互的主要方式,可以输入各种命令进行操作。
6. Linux的常用命令
Linux的常用命令包括ls、cd、mkdir、rm、cp、mv、chmod等,用于查看文件、进入目录、创建文件、删除文件、复制文件、移动文件、修改文件权限等操作。
7. Linux的软件安装
Linux的软件可以通过软件包管理器(如apt、yum)进行安装,也可以手动下载源代码进行编译安装。
8. Linux的网络配置
Linux的网络配置包括IP地址、网关、DNS等,可以通过命令行或者图形界面进行设置。
9. Linux的用户管理
Linux的用户管理包括添加用户、修改密码、删除用户等操作,用于管理系统中的用户。
以上就是Linux基础知识的总结。
Linux知识点
Linux知识点
1,Linux系统的主要特点:开放性,多任务,多用户,良好的用户界面,设备独立性,丰富的网络功能,可靠地安全系统,良好的可移植性。
2,Linux的缺点:没有特点支持厂商,图形界面不过好
3,Linux之所以受到广大计算机爱好者的喜爱,主要原因有两个,
一是它属于自由软件,用户不用支付任何费用就可以获得它和它的源代码,并且可以根据自己的需要对它进行必要的修改和无约束地继续传播。
另一个原因是,它具有Unix的全部功能,任何使用Unix操作系统或想要学习Unix操作系统的人都可以从Linux中获益。
4,Linux发行版本的内核源代码通常安装在/usr/src/linux目录中,可供用户查看和修改。
5,系统管理员的基本任务
用户管理:为新用户开帐号,删除不再需要的老帐号,禁用某帐号,把该帐号拥有的文件进行备份。
硬件管理:添加/删除硬盘,添加打印支持。
软件管理:安装新软件,系统升级。
备份:人工,自动
系统监控:系统资源的可用性,包括磁盘空间、网络可用性等
故障诊断,安全
6,/dev/hda5:‘dev’表示硬件设备文件的目录,‘hd’代表IDE设备,sd代表SCSI设备,‘a’代表第一个硬盘,b代表第二个硬盘,如此类推,‘5’代表分区号。
7,硬盘规划
/(必须要有)
/boot(启动分区,一般100M,也可以不单独分)
/usr(跟选择的软件相关,支持图形需要3G左右)
/home
/var
Swap(一般为内存大小的两倍)(必须要有)
8,硬盘分为两个区域:一个用于放置硬盘的信息(硬盘的0磁道的第一个扇区,通常称为MBR),一个则是放置实际数据文件的地方,MBR是硬盘最重要的地方。记录两个重要东西,启动管理程序,硬盘分区表。9,分区则使用数字来表示,数字1~4用于表示主分区或扩展分区,逻辑分区的编号从5开始。IDE0接口上主盘的第1个主分区称为/dev/hda1,IDE0接口上主盘的第1个逻辑分区称为/dev/hda5
Linux教程基础知识大全
Linux教程基础知识大全
Linu__操作系统在短短的几年之内得到了非常迅猛的发展,这与linu__具有的良好特性是分不开的。Linu__包含了UNI__的全部功能和特性。简单来说,linu__具有以下主要特性:遵循GNU GPL,开放性,多任务,多用户,设备独立性,提供了丰富的网络功能,可靠的系统安全,良好的可移植性。下面就让小编带你去看看Linu__教程基础知识大全,希望对你有所帮助吧!
Linu__运维学习路线,实用Linu__教程,推荐学习收藏
1、掌握Linu__基础
俗话说“思则有备,有备无患”,学习之前你先要搭建好学习环境(红帽RHEL7)然后在虚拟机安装它,开始使用它。学习Linu__,命令使用是学习的前提,就像你和外国人说话就得说英语不然别人怎么知道你说的是什么。例如:
命令名,选项,各个参数都作为命令的输入项,都是独立的项,他们之间必须用空格隔开。Linu__中命令格式如下:
命令名【选项】【参数1】【参数2】……
学习Linu__,要熟练掌握命令的使用,虽然命令多,但是熟能生巧,在以后的学习运用中能大大节约你的时间。还有学习linu__切不可粗心大意,往往一个小小的空格也会报错,当然在linu__中,大小写是很敏感的,切记!
2、从基础入手,切勿眼高手低
linu__如果一旦学习一段时间之后你会发现其实也没想象中那么难,甚至比windows更简单已操作,通常认为GLI没有GUL那么方面用户操作。因为命令行界面的软件通常需要用户记忆操作来完成命令,但是,由于其本身的特点,命令行界面要较图形用户界面节约计算机系统的资源。所以,熟记命令的前提下,使用命令行界面往往要较使用图形用户界面的操作速度要快,这也是你以后玩转Linu__的基本条件之一。
linux知识点整理
linux知识点整理第⼀单元《Linux系统简介及安装》
1. linux的理解:linux是⼀个计算机操作系统
Vmware的理解:
vmware
是⼀个虚拟主机软件
Linux的版本:
centos
只是
linux
发⾏版本的⼀种,
linux
的版本有很多
Linux的发展:
linux
是由
unix
发展过来的
Linux下查看
ip
的命令:
ifconfig
此命令必须是超级管理员才能使⽤
Linux下切换⽤户的命令是:
su
Linux和
windows
的异同:都是操作系统,
linux
安全性能以及运⾏效率都⽐
windows
要⾼,
windows
操作系统安全性能较低
Linux的
ip
理解:
的
ip
也可以作修改,可以在安装完成后使⽤命令
setup
来修改
ip
Linux安装的模式的理解:
linux
的安装可以选择图形界⾯安装也可以选择⽂本模式安装Linux运⾏级别的⽂件地址:
/etc/inittab
Linux常⽤的关机命令:
halt
、
poweroff
、
shutdown -h now
(⽴刻关机)、
shutdown -h 10
(
10
分钟后关机)
Linux常⽤的重启命令:
reboot
、
shutdown -r now
(⽴刻重启)、
shutdown -r 10
(
10
分钟后重启)
Linux下修改
ip
的⽂件:
/etc/sysconfig/network-scripts/ifcfg-eth0
第⼆单元《Linux
⽂件常⽤命令》
Linux的⽂件属性:
r:可读权限码为
4
W:可写权限码为
2
X:可执⾏权限码为
1
3、有⼀个⽂件属性为:
-rw-r--r--
分析:
linux知识点
知识点操作现象
一.Linux 基础与系统安装
1.服务器磁盘容量与分区管理
2.安装rpm\tar\yum三个命令言之/make编译
3.磁盘配额管理
4.字符/图形界面的相互切换
**相关实验:
1.全新、完全安装好一个 Linux 操作系统
二.Linux 中的目录与文件管理
1.命令初接触
date
cal
bc
man
info
有用的按键: Ctrl+C 和 Q
2.相对路径与绝对路径
目录与路径基本命令:
$cd ( change directory )
$pwd ( print working dirctory )
$mkdir ( make directory )
$rmdir ( remove directory )
查看当前环境变量:
$echo $PATH
**文件与目录管理综合实验
实验任务:
以用户名 student 密码 student 在 tty1 上登录
检查登录后进入的目录以及当前目录下的文件
$ touch
{report,memo,graph}_{sep,oct,nov,dec}_{
a,b,c}{1,2,3}
以上命令生成了 108 个空文件(需要数一下吗?
^_^ ),你的任务就是管理这 108 个文件
在你的用户目录下创建
a_reports 、 september 、 october 、 novemb
er 、 december 五个目录
三.文件与目录的权限
**查看文件内容实验
1. 复制 /usr/share/dict/words 文件到用户目录
2. 使用 cat 命令查看 words 文件的内容
3.你发现 words 内容很长, cat 命令不是一个很好的选
Linux内核面试知识点
Linux内核面试知识点
1. 什么是Linux内核?
Linux内核是操作系统的核心部分,负责管理计算机硬件资源、提供系统调用
接口和驱动程序,以及实现进程管理、内存管理、文件系统等核心功能。Linux内
核是开源的,由Linus Torvalds在1991年创建,并由全球的开发者共同维护和更新。
2. Linux内核的基本组成
Linux内核由多个模块组成,其中主要的组成部分包括:
•进程管理:负责创建、调度和终止进程,实现进程间通信和同步。
•内存管理:管理系统的物理内存和虚拟内存,包括内存分配、页表管理和交换空间管理。
•文件系统:提供文件和目录的访问接口,管理文件的存储和组织。
•设备驱动:负责与硬件设备的通信和控制,包括网络设备、磁盘设备、输入输出设备等。
•网络协议栈:实现网络通信的协议,包括TCP/IP协议、UDP协议等。
•系统调用接口:提供用户程序与内核之间的接口,通过系统调用实现用户程序对内核功能的访问。
3. Linux内核的编译与安装过程
Linux内核的编译与安装过程如下:
1.下载内核源代码:从官方网站或镜像站点下载Linux内核的源代码压
缩包。
2.解压源代码:使用压缩工具将源代码解压到指定目录。
3.配置内核选项:进入源代码目录,执行make menuconfig命令,根
据需求配置内核选项。
4.编译内核:执行make命令,开始编译内核。编译过程可能需要一段
时间,取决于系统性能和内核源代码的大小。
5.安装内核:执行make install命令,将编译好的内核安装到系统中。
6.配置引导程序:根据系统的引导方式(如GRUB或LILO),修改引
linux知识点整理
Linux实用教程
第一章 (1)
第二章 (2)
第三章 (2)
第四章 (3)
第五章 (6)
第六章 (8)
第七章 (10)
第八章 (11)
第九章 (13)
第十章 (16)
第十一章 (19)
第十二章 (21)
额外知识点 (24)
第一章 (24)
第二章 (24)
第三章 (25)
第八章 (25)
第十章 (25)
第十一章 (25)
第十二章 (25)
第一章
⏹Linux是在GPL(General Public License,通用公共许可证)版权协议下发行的操作系统,是一种类Unix
的操作系统,其版权属于Linus Torvalds.
⏹GNU是“GNU's Not Unix”的递归缩写。Stallman宣布GNU应当发音为Guh-NOO以避免与new这个单
词混淆(注:Gnu在英文中原意为非洲牛羚,发音与new相同)。UNIX是一种广泛使用的商业操作系统的名称。由于GNU将要实现UNIX系统的接口标准,因此GNU计划可以分别开发不同的操作系统部件。
GNU计划采用了部分当时已经可自由使用的软件,例如TeX排版系统和X Window视窗系统等。不过GNU计划也开发了大批其他的自由软件。
⏹Linux的应用主要有4个方面:服务器、嵌入式、软件开发、桌面应用。
Linux的长处主要在于服务器端和嵌入式两个领域。
⏹Linux系统的特点:
1.开放性
2.多用户
3.多任务
4.良好的用户界面
5.设备独立性
6.丰富的网络功能
7.可靠的系统安全
8.良好的可移植性
⏹Linux系统一般有4个主要部分:
内核、Shell、文件系统、应用程序。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
四:thread
1.什么是线程的detach状态?怎样设置?
detach状态:
一般情况下,线程终止后,其终止状态一直保留到其它线程调用pthread_join获取它的状态为止。
但是线程也可以被置为detach状态,这样的线程一旦终止就立刻回收它占用的所有资源,而不保留终止状态。
不能对一个已经处于detach状态的线程调用pthread_join,这样的调用将返回EINVAL。
设置方法:
对一个尚未detach的线程调用pthread join或 pthread detach都可以把该线程置为detach状态,也就是
说,不能对同一线程调用两次pthread join,或者如果已经对一个线程调用了pthread detach就不能再调用
pthread_join了。
int pthread_detach(pthread_t tid);
返回值:成功返回0,失败返回错误号。
2.叙述函数pthread_join的功能。
函数pthread_join用来等待一个线程的结束,线程间同步的操作。
头文件: #include
函数定义: int pthread join(pthread t th, void **value_ptr );
th: 被等待线程的标识符
value_ptr :用户定义指针,用来存储被等待结束线程的返回值,
调用该函数的线程将挂起等待,直到id为th的线程终止。
3.进程中使用return、exit、pthread exit和pthread cancel分别起到什么作用?return,如果thread线程通过return返回,value_ptr所指向的单元里存放的是thread线程函数的返回值。
exit 终止整个进程。如果进程中的任一线程调用了exit,那么整个进程就会终止。
调用pthread exit终止自己,value ptr所指向的单元存放的是传给pthread_exit的
参数。
调用pthread cancel终止同一进程中的另一个线程,value ptr所指向的单元里存放
的是常数
PTHREAD_CANCELED,即((void *) -1)。
4.解释关键字restrict的作用。
详细内容请参考:教学文档/pthread/0-restrict.doc
关键字restrict只用于限定指针。
该关键字用于告知编译器,所有修改该指针所指向内容的操作全部都是基于该指针的,即不存在其它进行修改操作
的途径,这样的后果是帮助编译器进行更好的代码优化,生成更有效率的汇编代码。
5.线程都有哪些常用属性?在创建时和创建后都怎样进行设置?
线程的属性结构为pthread attr t,在头文件pthread.h中定义,属性值不能直接设置,须使用相关函数进行操
作,初始化的函数为 pthread attr init ,这个函数必须在pthread_create函数之前调用。属性对象主要包括是否
绑定、是否分离、堆栈地址、堆栈大小、优先级。默认的属性为非绑定、非分离、缺省的堆栈、与父进程同样级别
的优先级。
线程创建之前,通过各种属性设置函数来给结构体pthread attr t变量赋值,在创建变量时将pthread attr t结构
体变量作为参数传入pthraed_create()函数创建已设定某些属性进程。
比如进程的优先级设置
线程的优先级放在结构sched param中,目前仅有一个sched priority 整型变量表示线程的运行优先级。这个参
数仅当调度策略为实时(即SCHED RR或SCHED FIFO)时才有效,并可以在运行时通过
pthread setschedparam()函数来改变,缺省为0。用函数
pthread attr_getschedparam和函数
pthread attr setschedparam进行存放。
6.pthread cleanup push和pthread cleanup pop这两个函数的作用是什么?什么时候
执行?
线程可以安排它退出时需要调用的函数,这样的函数称为线程清理处理程序,线程可以建立多个清理处理程序。处
理程序记录在栈中,也就是说它们的执行顺序与它们注册时的顺序相反。
pthread cleanup push()函数执行压栈(注册)清理函数的操作。
pthread cleanup pop()函数执行从栈中删除清理函数的操作。
函数原型:
void pthread cleanup push( void (*rtn)(void *), void *arg);
rtn 处理程序入口地址
arg 传递给处理函数的参数
void pthread cleanup pop(int execute);
execute表示执行时是否在弹出清理函数的同时执行该注册函数,为0表示不执行,非0为执行。
发生以下任一情况时注册的清理函数被执行:
1)调用pthread_exit,而不是直接return。
2)作为对取消线程请求(pthread_cancel)的响应。
3)以非0参数调用pthread cleanup pop。
注意:
1)如果线程只是由于简单的返回(return)而终止的,则清除函数不会被调用。
2)如果pthread cleanup pop被传递0参数,则清除函数不会被调用,但是会清除
处于栈顶的清理函数。
1.当pthread cleanup pop()函数的参数为0时,仅仅在线程调用pthread_exit函数
或其它线程对本线程调用
pthread_cancel函数时,才在弹出“清理函数”的同时执行该“清理函数”。
2.注意pthread_exit终止线程与线程直接return终止线程的区别, 调用return函数
是不会在弹出“清理函数”的同