自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 linux下磁盘设置分区,挂载,格式化操作

基本概念分区的概念分区从实质上说就是对硬盘的一种格式化。当我们创建分区时,就已经设置好了硬盘的各项物理参数,指定了硬盘主引导记录和引导记录备份的存放位置。而对于文件系统以及其他操作系统管理硬盘所需要的信息则是通过之后的高级格式化。安装操作系统和软件之前,首先需要对硬盘进行分区和格式化,然后才能使用硬盘保存各种信息。各个分区之间是相对独立的,你在一个分区上的操作不会影响到另一个分区。Li...

2019-06-28 16:52:54 282

原创 RAID技术基础

RAID(廉价冗余磁盘列阵)是一种高性能的存储系统。这种技术将多个独立的硬盘通过不同的方式组成一个硬盘组。提供了数据恢复的功能。极大地提高了数据的安全性。RAID分级:Raid 0:又称数据分块,即把数据分成若干相等大小的小块,并把它们写到列阵上不同的硬盘中。这种技术又称为Stripping(数据条带化)。这种并行的方式对硬盘进行读写操作建立在把数据分布在多个盘的基础上。从理论上讲其容量和...

2019-05-23 16:51:15 245

原创 配置Samba来实现Linux和Windows文件共享

配置Samba可以让我们在Windows下访问Linux的文件,并更改,实现Windows和Linux之间的文件共享与同步。那么应该如何配置Samba呢? 先在系统上创建一个准备设置为共享文件夹的目录mkdir + 目录名在Linux平台下载安装Samba:我使用的centos7直接用yum经行安装安装完成后,我们对samba进行配置使用root权限进入目录 /et...

2019-01-17 11:34:40 325

原创 通过自定协议实现网络计算器

自定制协议:程序员自己设计的数据传输格式,为应用层协议。是两个应用之间通过特殊的格式来传输和接收数据。我们使用一个结构体来存储数据经行数据的传输。定义一个结构体 struct data                           {                                    int a;用来存放第一个数据                     ...

2018-12-02 17:09:53 405 1

原创 网络基础

1.认识协议"协议"是一种约定,计算机之间传输媒介时光信号和电信号。通过“强”,”弱“来表示0,1这样的信息。想要传递各种不同的信息,就需要约定好双方的数据格式。TCP/IP协议tcp/ip是一组协议的代名词,它还包括许多协议,组成tcp/ip协议族.tcp/ip通讯协议采用了五层的层次结构,每一层都呼叫下一层所提供的网络来完成自己的需求。tcp/ip协议族中,每一个都提供不同的工能。...

2018-11-06 16:55:59 143 1

原创 进程间通信1_管道通信

进程间通信是指进程间的信息交换,其所交换的信息量少者是一个状态或数值,多者则是成千上万的字节。进程间通信的目的主要是为了实现数据输(一个进程需要将他的数据发给另外一个进程),资源共享(多个进程之间共享同样的资源),通知事件(一个进程需要向另一个或一组进程发送消息,通知他们发生某种事情(如进程终止时要通知父进程)),进程控制。进程间通信的分类:管道:匿名管道pipe           ...

2018-10-31 19:18:30 167 1

原创 Linux下进程程序替换及简单的shell的实现

替换原理:用fork创建进程后执行的是和父进程相同的程序(但有可能执行不同的代码分支),子进程往往要调用exec函数以执行另一个程序。当进程调用一种exec函数时,该进程的用户空间代码和数据完全被新程序替换。从新进程的启动例程开始执行,调用exec函数并不创建新进程,所以调用exec函数前后进程的id并未改变。替换函数:有六种以exec开头的函数,统称exec函数:#include...

2018-09-19 19:12:24 429

原创 Linux下进程等待

1.为什么要进程等待?当子进程退出,父进程不管的话,就可能造成僵尸进程的问题,进而造成内存泄漏。另外,进程一旦变成僵尸进程,就刀枪不入,连杀人不眨眼的kill -9也没有办法杀死。最后,父进程派给子进程的任务完成的如何?我们需要知道,如子进程完成,结果对还是不对,或是是否正常退出。所以,父进程通过等待的方式,回收子进程资源,获取子进程退出信息。2.进程等待的方法wait方法#in...

2018-09-11 21:04:48 290 1

原创 Linux下进程控制

1.进程创建 利用fork函数,在Linux中fork函数是一个非常重要的函数,它从已存在的进程中创建一个新进程,新进程为子进程而原进程为父进程。当进程调用fork函数,控制转移到内核中的fork代码后,内核:1.分配新的内存块和内存数据结构给子进程2.将父进程部分数据结构内容拷贝给子进程3.添加子进程到系统进程列表中4.fork返回,调度器开始调度当一个进程调用fork后...

2018-09-10 19:06:56 261 1

原创 进程的概念及僵尸进程的了解

1.什么是进程?进程就是程序的一个执行实例,比如一个正在执行的程序。实际上是是一个分配系统资源(cpu,内存)的实体。进程的信息被存放于一个进程控制块(PCB)的数据结构中,Linux下的PCB是task_struct。task_struct是Linux系统中的一种数据结构,他会被装载到内存中,并包含着进程的信息。所有运行在系统中的进程都是以task_struct链表形式存在于内核中。ta...

2018-09-09 18:55:23 1871 3

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

大前提:数组是数组指针是指针,数组和指针没有关系。判断一个表达式是指针还是数组要看这个表达式先和谁结合。指针数组:指针数组是一个数组,像int *a[ ] 由于a先和括号结合所以a是一个数组,数组中的元素是指针,故其是一个整型指针数组。数组指针:数组指针是一个指针,如int (*a)[ ]由于a先和*结合,故a是一个指针,指针中存放数值的地址,其实一个整型数组指针。函数指针:函数指

2017-12-25 12:36:14 143

原创 c语言小游戏扫雷

利用二维数组以及函数的知识完成。首先,应定义两个二维数值mine和show。main数组用于存放雷而show数组用于显示给玩家。棋盘设定为可见9*9棋盘。于是show为99的二维数组而main为(9+1)*(9+1)的棋盘,因为在边界仍要经行判断所以将show定义大一圈,并在边界全赋为无雷区。头文件game.h#ifndef __GAME_H__#define __GAME_

2017-12-12 14:36:04 293

原创 可变参数列表码的剖析和自己的理解

在之前学习的所有函数中,我们所经行参数的传递,形参实参的个数都是有限的。但是c语言的库函数printf()的参数个数却是不确定。我们称其为可变参数列表。之后我们经行可变参数列表的模拟实现.在模拟实现过程中,需要用到几个宏:#includeva_list arg;\\声明argva_start(arg,format);\\初始化argva_arg(arg,type);\\向后移

2017-12-12 14:04:57 196

原创 函数的调用过程,栈帧的创建和销毁

栈帧就是一个函数执行的环境:函数参数、函数的局部变量、函数执行完后返回到哪里等等.栈是从高地址向低地址延伸的。每个函数的每次调用,都有它自己独立的一个栈帧,这个栈帧中维持着所需要的各种信息。寄存器ebp指向当前的栈帧的底部(高地址),寄存器esp指向当前的栈帧的顶部(低地址)。下图为程序存储空间入栈:push eax出栈:pop eax

2017-12-07 14:32:34 211

原创 C语言小游戏 三子棋

c语言三子棋小游戏,通过二维数组构建棋盘.利用七个个函数void Init();\\构建棋盘void meau();\\游戏菜单void display();\\构建棋盘void player();\\玩家进行void computer();\\电脑进行char Iswin();\\判断输赢int Isfull();\\判断棋盘是否下满来实现逻辑.头文件 g

2017-11-23 17:09:19 346

原创 C语言二分查找

思想:将n个元素分成大致相等的两部分,取a[n/2]与x做比较,如果x=a[n/2],则找到x,算法中止;如果xa[n/2],则只要在数组a的右半部搜索x.伪代码:代码:#includeint main(){               /* 0 1 2 3 4 5 6 7 8 9*/int arr[10] = {1,2,3,4,5,6,7,8,9,10};in

2017-11-15 13:33:44 415

原创 C语言操作符总结

C语言操作符总结1.算数操作符:+           -              *              /(有浮点数则为浮点除法)               %(全为整形)2.移位操作符:所有的移位操作符都是二进制移位左移效果:左边抛弃右边补0.  右移>>效果::符号位:算术移位:原该值的符号位:0:逻辑移位警告:不要移动负数位

2017-11-12 22:37:45 197

原创 简单的C语言猜数游戏

为了跟好的理解二分法查找,设计猜数游戏。通过菜单,游戏,主函数三部分实现。注意:1.随机数的生成方法           rand()函数:随机数生成器,因为vs平台其取值范围为RAND_MAX(0- 0x7FFF(32767)),所以使用rand()%100+1来缩小随机数的范围0-100.     srand()函数:对rand函数的调用,srand((unsigned)tim

2017-11-12 02:22:10 5892

空空如也

空空如也

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

TA关注的人

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