Linux实验楼学习之二】的更多相关文章

新建文件1-1.c touch 1-1.c 编辑文件1-1.c gedit 1-1.c 生成可执行文件1-1.c gcc -o 1-1 1-1.c 执行可执行文件1-1 ./1-1…
Linux内核学习笔记二——进程   一 进程与线程 进程就是处于执行期的程序,包含了独立地址空间,多个执行线程等资源. 线程是进程中活动的对象,每个线程都拥有独立的程序计数器.进程栈和一组进程寄存器. 内核调度的对象是线程而不是进程.对Linux而言,线程是特殊的进程. 二 进程描述符及任务结构 内核使用双向循环链表的任务队列来存放进程,使用结构体task_struct来描述进程所有信息. 1 进程描述符task_struct struct task_struct {}结构体相当大,大约1.7…
在linux内核学习系列的第一课中讲述了搭建学习环境的过程(http://www.cnblogs.com/xiongyuanxiong/p/3523306.html),环境搭好后,马上就进入到下一环节--编译内核.linux的内核是整个系统最核心的部分,内核的功能基本上决定了系统的能力. linux的内核代码使用的是GPL授权,允许自由下载,修改并重新发布内核,只要求发布修改后的内核的同时提供源代码.各种各样的内核版本众多,几乎所有的linux发行版都会对内核进行或多或少的修改,debian也不…
转自:http://blog.csdn.net/ghostyu/article/details/6866863 版权声明:本文为博主原创文章,未经博主允许不得转载. 在我前一篇写的[ linux驱动学习(一)Makefile基础]中,Makefile写的中规中矩,其实Makefile写法很灵活,可以写得很简洁,而且减少出错的可能,现在就把之前写的Makefile改进一下. [plain] view plain copy main: main.o hello.o word.o gcc main.o…
一   实验过程及效果 1.准备好相关的代码,分别是mymain.c,mypcb.h,myinterrupt.c ,如下图,make make成功: 在qemu创建的虚拟环境下的运行效果:(使用的命令如上图所示) 效果分析:可以看到进程在不断切换,分别有进程0,1,2,3,每隔一段时间就进行一次切换. 二  具体代码 mypcb.h #define MAX_TASK_NUM 4 //定义最大任务(进程数) #define KERNEL_STACK_SIZE 1024*8 //定义内核堆栈的大小…
昨天简单了解了linux的基础命令,今天学习linux搭建环境(安装文件,配置文件)及权限操作. 一.搭建lnmp环境 lnmp指Linux+Nginx+Mysql+PHP Ubuntu安装文件命令为: apt-get install 软件名称 安装时确定正确的软件名称 centos命令为: yum install 软件名称 1.安装nginx ① 执行命令 apt-get install nginx nginx默认的安装位置是/etc/nginx目录,默认网站目录在/usr/share/ngi…
线程基础 进程 系统中程序执行和资源分配的基本单位 每个进程有自己的数据段.代码段和堆栈段 在进行切换时需要有比较复杂的上下文切换   线程 减少处理机的空转时间,支持多处理器以及减少上下文切换开销, 比创建进程小很多 进程内独立的一条运行路线 处理器调度的最小单元,也称为轻量级进程 可以对进程的内存空间和资源进行访问,并与同一进程中的其他线程共享 线程相关的执行状态和存储变量放在线程控制表内 一个进程可以有多个线程,有多个线程控制表及堆栈寄存器,共享一个用户地址空间   多线程同步问题 线程共…
前言: 我们在上一节了解了一下linux的硬件组成,虽然也许对具体的东西还不甚了解,但是我们知道了linux下一切皆文件这一特性 我们装好了CentOS7的虚拟机(这个可以看别人教程来装起来,比较简单也比较详细) chapter 3:启动CentOS的终端及基础指令下达 我们登入完CentOS后,发现是一个图形界面.但是我们可以通过指令让其进入终端(终端就相当于linux操作系统啦~) Ctrl] + [Alt] + [F2] ~ [F6] :文字介面登入tty2 ~ tty6 终端机: [Ct…
本节学习的命令:tree,mkdir,rmdir,touch,stat,rm 本节学习的技能:Linux中主要的目录作用以及特殊的目录文件: 文件的命名规则,命令行展开: 文件的创建与删除: Linux中的两种路径以及主要操作. 文件系统: rootfs: 根文件系统: LINUX文件系统的主要目录作用: /boot: 系统启动相关的文件,如内核.initrd,以及grub(bootloader) /dev: 设备文件 设备文件: 块设备:随机访问,数据块 字符设备:线性访问,按字符为单位 设备…
linux shell 可以用户定义函数,然后在shell脚本中可以随便调用.下面说说它的定义方法,以及调用需要注意那些事项. 一.定义shell函数(define function) 语法: [ function ] funname [()] { action; [return int;] } 说明: 1.可以带function fun() 定义,也可以直接fun() 定义,不带任何参数. 2.参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值. retu…
2018-10-03 22:20:48 一.文件目录管理命令 1.touch 命令 用于创建空白文件或设置文件的时间,格式为“touch [选项] [文件]”. 参数: -a :仅修改“读取时间(atime)” -m:仅修改“修改时间(mtime)” -d:同时修改 atime 与 mtime 2.mkdir 命令 用于创建空白的目录,格式为“mkdir [选项] 目录”. mkdir -p:递归创建具有嵌套叠层关系的文件目录 [root@centos110 ~]# mkdir linuxpro…
查看当前所在目录 pwd 创建文件:1-1.txt touch 1-1.txt 进入统计目录下的etc目录 cd /etc 强行终止当前程序 Ctrl + c 常用快捷键 按键 作用 Ctrl+d 键盘输入结束或退出终端 Ctrl+s 暂停当前程序,暂停后按下任意键恢复运行 Ctrl+z 将当前程序放到后台运行,恢复到前台为命令fg Ctrl+a 将光标移至输入行头,相当于Home键 Ctrl+e 将光标移至输入行末,相当于End键 Ctrl+k 删除从光标所在位置到行末 Alt+Backspa…
Linux网络属性管理: 局域网:以太网,令牌环网 Ethernet:CSMA/CD 冲突域 广播域 MAC:media access control地址 48bit: 24bits 24bits  IP:Internet protocol routing protocol routed protocol OSI,ICP/IP tcp/ip分层: application layer transport layer internet layer datalink layer pysical lay…
int main() { char* pipename = "pipe"; mkfifo(pipename,); int pid = fork(); ) { printf("Error In Fork\n"); exit(-); } ) { printf("In Child Process\n"); int fd = open(pipename,O_WRONLY|O_NONBLOCK); node testnode; testnode.a = ;…
查看用户 who am i or who mom likes who 命令其它常用参数 参数 说明 -a 打印能打印的全部 -d 打印死掉的进程 -m 同am i,mom likes -q 打印当前登录用户数及用户名 -u 打印当前登录用户登录信息 -r 打印运行等级 添加用户lilei到系统,同时也默认为新用户创建 home 目录 sudo adduser lilei 切换登录用户 su -l lilei 查看当前用户所在用户组 groups shiyanlou 查看文件 sudo cat 1…
文件,目录 pwd:查看当前目录 Print Working Directory cd,ls(ll),mkdir -p Change Directory List Make Directory du -sh 评估目录或者文件大小 touch 创建新文件 ln -s source dest 创建链接文件,等同于快捷方式 Link cp -rf[recurrence force]source1 source2 dest Copy rm -rf path Remove mv source dest M…
1.简介与原理 互联网诞生之初就存在三大服务:WWW.FTP.邮件 FTP主要针对企业级,可以设置权限,对不同等级的资料针对不同权限人员显示. 但是像网盘这样的基本没有权限划分. 简介: FTP(File Transfer Protocol)文件传输协议,用于网上的控制文件的双向传输. “下载”文件就是从远程主机拷贝文件至自己的计算机上 “上传”文件就是将文件从自己的计算机中拷贝文件到远程主机上. 主动模式:(这里的主动被动是说服务器端,默认都是主动模式) 服务器从20端口主动向客户端发起连接…
ls命令 |命令选项|作用| |:-----:|:----:| |ll| 显示文件得详细信息| |ls -a |显示文件和隐藏文件| |ls -t|以文件和目录的更改时间排序| |ls -m|用","号区隔每个文件目录名称| ll 是ls-l的一个别命 -rw-r-r--. 1 root root 214 4月 17 20:54 mytest1 最左面的-rw-r-r--表示用户对文件的权限,(- 表示普通文件,d 表示目录文件,c : 为字符串设备,若路由器等设备b : 块设备,硬盘…
Linux学习之二-Linux系统的目录结构 在Linux的根目录下,有很多的目录,但是需要记住,对于Linux而言,一切皆文件.因此此处的目录也是文件.用ls / 命令就能看到根目录下的各类不同的目录. 1./ 根目录,每一个文件和目录从根目录开始. 只有root用户具有该目录下的写权限. 2./bin binary用户二进制命令文件 包含二进制可执行文件. 在单用户模式下,需要使用的常见Linux命令都位于此目录下.系统的所有用户使用的命令都设在这里. 3./boot 系统引导加载程序文件,…
KVM虚拟化学习笔记系列文章列表----------------------------------------kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51cto.com/703525/1288795kvm虚拟化学习笔记(二)之linuxkvm虚拟机安装http://koumm.blog.51cto.com/703525/1289627kvm虚拟化学习笔记(三)之windowskvm虚拟机安装http://koumm.blog.51cto.com/70…
了解 Linux 系统基本的文件管理命令可以帮助我们更好的使用 Linux 系统,以下介绍几个常用的文件管理命令 1.pwd pwd 是 Print Working Directory 的简写,用于显示当前工作目录 user@ubuntu:/$ pwd /home/user 2.ls ls 是 List 的简写,用于列出目录内容,常用的参数列举如下: -a:(All)显示所有文件,包括隐藏文件 -l:(Long Format)显示详细信息 -t:(Time)按修改时间排序 -s:(Size)按文…
Docker学习笔记二(linux下安装Docker) 1.在线安装linux Docker 这种方式首先要保证linux 环境下可以上网,当然,小编是在自己的电脑上安装了虚拟机,在虚拟机上安装了,linux系统,你也可以直接操作linux系统:如果需要学习如何安装.学习,虚拟机,并安装linux系统,可以参考小编另外一篇博客,写博不易,请支持. 查看linux系统(当然一下你可以不做,小编只是查看下安装信息): 1.uname -a Linux查看版本当前操作系统内核信息 [root@loca…
别出心裁的Linux命令学习法 操作系统操作系统为你完成所有"硬件相关.应用无关"的工作,以给你方便.效率.安全.操作系统的功能我总结为两点:管家婆和服务生: 管家婆:通过进程.虚拟内存和文件三个重要抽象管理计算机的CPU.内存.I/O设备. 服务生:为用户提供shell,为程序员提供系统调用. 大家都比较熟悉Windows操作系统,Linux也是一种操作系统.Linux的架构如下图: 如果使用GUI,Linux系统和Windows操作系统的使用没有什么大的区别,用鼠标可以解决大部分问…
一.Linux 为何物 Linux 就是一个操作系统,就像你多少已经了解的 Windows(xp,7,8)和 Max OS ,至于操作系统是什么,就不用过多解释了,如果你学习过前面的入门课程,应该会有个基本概念了,这里简单介绍下操作系统在整个计算机系统中的角色. 我们的 Linux 也就是系统调用和内核那两层,当然直观的来看,我们使用的操作系统还包含一些在其上运行的应用程序,比如文本编辑器,浏览器,电子邮件. 二.Linux 重要人物 1.Ken Thompson:C 语言之父和 UNIX 之父…
安装Ubuntu遇到的问题 问题一: 新建虚拟电脑的版本只有32-bit,与老师所给教程中的64-bit不符.为此我上百度搜寻了答案. 第一种方法: 控制面板--程序与功能--启动或关闭windows功能--找到hyper-v,并将其前面的√取消. 第二种方法: 如上图,我电脑里找不到hyper-v,因此有了第二种方法. 进入BIOS页面,将IVT选项改为"enabled".按F1.F2.Fn等都无法进入页面,最后在同学的帮助下按F2+Fn进入页面.最终解决了这一问题. 问题二: 在下…
别出心裁的Linux系统调用学习法 操作系统与系统调用 操作系统(Operating System,简称OS)是计算机中最重要的系统软件,是这样的一组系统程序的集成:这些系统程序在用户对计算机的使用中,即在用户程序中和用户操作中,负责完成所有与硬件因素相关的(硬件相关)和任何用户共需的(应用无关)基本使用工作,并解决这些基本使用工作中的效率和安全问题,为使用户(操作和上层程序)能方便.高效.安全地使用计算机系统,而从最底层统一提供所有通用的帮助和管理. 硬件相关: 涉及物理地址.设备接口寄存器.…
http://www.hzlitai.com.cn/article/ARM9-article/system/1605.html 写给Linux内核新手-关于Linux内核学习的误区 先说句正经的:其实我没资格写这篇文章,因为自己也就一两个月以来才开始有所领悟的.因此,这里与其说是关于Linux内核学习的经验,不如说是自己的教训吧,希望不要扔鸡蛋砸我^_^ 常常有人问:我想学习内核,需要什么基础吗?Linus Torvalds本人是这样回答的:你必须使用过Linux. 这个……还是有点太泛了吧,我…
原文:Linux内核分析(二)----内核模块简介|简单内核模块实现 Linux内核分析(二) 昨天我们开始了内核的分析,网上有很多人是用用源码直接分析,这样造成的问题是,大家觉得很枯燥很难理解,从某种意义上来说linux系统本身就是由一个个模块构成的,所以我会结合内核模块的设计,去分析内核,从而达到对linux内核的理解. 今天我们会分析到以下内容: 1.      Linux内核模块简介 2.      简单内核模块实现 l  Linux内核模块简介 1.       何为内核模块 在上一篇…
本文原创是freas_1990,转载请标明出处:http://blog.csdn.net/freas_1990/article/details/9304991 从大二开始学习Linux内核,到现在已经4年了.在大学的时候,学习Linux内核仅仅是作为一种爱好,因为国内罕有人能在本科毕业之后直接从事Linux内核研发工作,而哦也从未打算读研. 学习内核是一件很有趣的事情.仅仅是出于兴趣.当很想知道命令是如何从键盘输入到计算机并且关联到进程的时候,我翻出了Linux内核的源代码.然而,面对的问题越来…
Linux 内核学习经验总结 学习内核,每个人都有自己的学习方法,仁者见仁智者见智.以下是我在学习过程中总结出来的东西,对自身来说,我认为比较有效率,拿出来跟大家交流一下. 内核学习,一偏之见:疏漏难免,恳请指正. 为什么写这篇博客 刚开始学内核的时候,不要执着于一个方面,不要专注于一个子系统就一头扎到实际的代码行中去,因为这样的话,牵涉的面会很广,会碰到很多困难,容易产生挫败感,一个函数体中(假设刚开始的时候正在学习某个方面的某个具体的功能函数)很可能掺杂着其他各个子系统方面设计理念(多是大量…