自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qq_40995354的博客

计算机基础

  • 博客(16)
  • 收藏
  • 关注

原创 调研进程调度算法

在操作系统中存在多种调度算法,其中有的调度算法适用于作业调度,有的调度适用于进程调度,有的调度算法两者都适用。进程调度算法:在系统角度来说,公平性:每个进程(不论优先级)都会有机会被运行;较大的吞吐量。用户角度:及时性:响应速度快;较短的周转时间,不应当让用户等待时间过长。常见的调度算法:1.时间片轮转法:在分时系统中,都采用时间片轮回转法。简单轮回法:系统将所有就绪进程按FIFO规则排队,按一定...

2018-03-21 15:42:09 340

原创 使用代码模拟实现僵尸进程, 孤儿进程的场景

僵尸进程(Z):一个子进程在其父进程没有调用wait()或waitpid()的情况下退出。这个子进程就是僵尸进程。僵尸进程会以终止状态保持在进程表中,并且会一直在等待父进程读取退出代码。所以只要子进程退出,父进程还在运行,但父进程没有读取子进程状态,子进程进入Z状态。Z状态一直不退出,PCB(task_struct)一直都要维护。一个父进程创建了很多子进程,就是不回收,就会造成资源的浪费。因为数据...

2018-03-19 14:29:52 139

原创 实现基于静态数组的顺序表的以下基本操作:

实现基于静态数组的顺序表的以下基本操作:1. 初始化2. 尾插3. 尾删4. 头插5. 头删6. 读任意位置元素7. 修改任意位置元素8. 查找指定元素值的下标9. 在任意位置插入元素 10.删除顺序表中指定的值, 如果存在重复元素, 只删除第一个11.删除顺序表中所有的指定的值, 另外要实现一个时间复杂度为 O(N) 的优化版本12.获取顺序表元素个数13.判...

2018-03-18 20:49:27 204

原创 调研task_struct结构体, 理解结构体中的各个字段的含义.

Linux内核通过一个被称为进程描述符的task_struct结构体来管理进程,这个结构体包含了一个进程所需的所有信息。task_struct结构:1.进程状态,将记录进程在等待,运行或死锁。2.调度信息,由哪个调度函数调度,怎样调度等。3.进程的通讯情况4.因为要插入进程树,必须有联系父子兄弟的指针,当然是task_struct型5.时间信息,比如计算好执行的时间,以便cpu分配。6.标号,决定...

2018-03-17 11:34:24 247

原创 1.回调函数的使用 2.练习使用qsort函数排序各种类型的数据

1.回调函数就是一个通过函数指针调用的函数。如果把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调其所指向的函数时,我们就说这是回调函数。回调函数不是有由函数的实现方直接调用,而是在特定的事件或条件发生时由另一方调用的,用于该事件或条件进行响应。2....

2018-03-15 23:11:11 182

原创 理解 指针数组 数组指针 函数指针 函数指针数组 指向函数指针数组的指针

1.指针数组:指针数组是数组,是一个存放指针的数组。例:int *arr1[10] ;整型指针数组    char *arr2[4] ;字符指针数组     char **arr3[5] ;二级指针数组2.数组指针:是指针。(数组的地址)。指向数组。给数组指针+1,指向所指向数组的大小。例:int (*p)[10]整型数组指针。解释:p和*先结合,说明p是一个指针变量,然后指针指向是一个大小为10...

2018-03-15 23:00:02 139

原创 1.研究 sscanf sprintf 2.研究 fread fwrite

sscanf作用:从一个字符串中读进与指定格式相符的数据。原型:int sscanf(const char *str,const char *format,......);说明:sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据。转换后的结果存于对应的参数内。成功则返回参数数目,失败则返回0。sscanf与scanf类似,都是用于输入的,只是scanf以键盘(std...

2018-03-13 21:07:45 208

原创 自行调研Linux下软件安装的几种方式(源码安装, rpm安装, yum安装). 重点要理解rpm安装和yum安装的区别.

1、源码安装。源码安装的步骤:编译源码,然后安装。<1>安装准备a.首先用yum安装gcc,用于编译源码b.官网下载源码包c.winSCP  windows与linux传输文件(如果直接用要安装的linnux电脑下载就不用传输了)<2>安装过程a.解压b.进入解压后的目录配置软件 ./configure#大多数情况下源码包都会带configure这样一个配置工具,具体使用方...

2018-03-12 15:24:35 559

原创 为什么调试的时候需要编译选项中添加 -g. 请自行调研readelf命令

用gdb进行调试纠错前必须要在编译选项中添加“-g”,“-g”标志是对程序进行调试性编译时常用的选项。我们需要给每一个需要调试的源文件都加上这个选项。它将使用特殊版本的C语言标准库完成编译和链接操作,给库函数加上程序调试方面的支持。编译器会把这些标志自动传给链接器。readelf命令用来显示一个或者多个elf格式的目标文件的信息,可以通过它的选项来控制显示哪些信息。这里的elf-file(s)就表...

2018-03-12 14:36:45 811

原创 自行查找资料, 调研除了gcc, 还有哪些常用的牛逼的编译器(不限制编程语言, 不限制平台).

windows常用的都是vs 、vs,OSX用clang,clang的错误提示比其他要好很多语言支持比较好,但是编出来的程序性能比gcc差很多,很多细粒度的优化没有人做。

2018-03-12 13:59:19 462

原创 除了vim, 还有哪些常用的编辑器, 并能够横向对比编辑器之间的区别和优缺点

vim是从vi发展出来的一个文本编辑器。代码补完、编译错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”,接着用sed命令处理缓冲区的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,只到文件末尾。文件内容并没有改变,除非你使用重定向的存储输出。sed主要用来自动编辑一个...

2018-03-12 13:40:19 791

原创 linux下进入目录以及进入目录增删查需要的权限

进入目录需要哪些权限, 在目录中执行增删查(cd, touch, ls, rm, mv等)改文件动作, 需要哪些权限.(1)进入目录需要可执行x的权限(2)cd 执行操作需要x权限 (展开此目录下内容)        touch 执行操作需要w,r,x三种权限 (创建一个文件)        ls 执行操作需要r,x两种权限(查看目录下内容)        rm 执行操作需要r,w,x三种权限(r...

2018-03-10 11:24:42 297

原创 linux总结命令和快捷方式

安装和登录命令:shutdown(关机),install(升级软件,安装数据),exit(退出系统),halt(关电源),tty(查看当前终端)文件处理命令:file(查看文件准确类型),mkdir(创建一个目录),grep(从文件里过滤内容),mv(移动文件或重名),ls(查看目录下内容),cat(将结果写入键盘),cd(查看当前位置),cp(拷贝)clear(清屏),more(屏下显示文件的百...

2018-03-10 10:54:03 759

原创 查找资料, 学习如何使用命令安装gcc/g++, gdb, vim

安装 gcc:yum  install gcc安装g++:yum install gcc-c++安装gdb:<1>先切换到root权限。centos点help。在终端下打开火狐网,复制  https://mirrors.aliyun.com/回车(在联网的情况下并且手动复制粘贴)                 <3>再输入yum list | grep gdb 安装vim...

2018-03-10 08:53:21 155

原创 查找资料, 了解以下重要命令. du, df, top, free, pstack, su, sudo(sudo -, sudo -s), adduser, password

du  命令格式:du [选项] [文件]        命令功能:显示每个文件和目录的磁盘使用空间。      命令参数:-a 显示目录中个别文件的大小。                      -b 显示目录或文件大小时,以byte为单位。                      -c 除了显示个别目录或文件的大小外,同时也显示所有的目录或文件的总和。                   ...

2018-03-08 23:00:23 214

原创 查找资料, 了解以下Linux下的重要目录/proc, /sys, /SElinux, /bin, /usr/lib, /usr/local, /var, /tmp

/proc是linux内核中提供的文件系统,在运行访问内核数据结构,改变内核设置的机制。proc是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交...

2018-03-08 22:21:26 333

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除