自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

若梦的博客

来自计科蒟蒻若梦的技术博客

  • 博客(78)
  • 资源 (3)
  • 收藏
  • 关注

原创 Fedora32升级至Fedora33无法连接网络的问题

Fedora32升级至Fedora33无法连接网络的问题1. 问题描述在2020年10月27日,Fedora 33正式发布了。作为一名忠实的Fedora用户,我在10月31日决定正式从Fedora 32升级到Fedora 33。升级后发现无法连接公司内的无线网络,而有线网络在关闭802.1x Security后,可以连接,但无法访问内网,若启用802.1x Security,则无法连接网络。...

2020-11-02 20:38:52 1024

原创 数据库系统——002. 关系模型介绍

002. 关系模型介绍2.1 关系数据库的结构关系数据库由表的集合构成,每个表有唯一的名字。表中的一行代表了一组值之间的一种联系。一个表就是这种联系的一个集合。表这个概念和数学中的关系概念密切相关。在数学中,元组(tuple)是一组值的序列或列表。n个值之间的联系可用这些值的一个n元组(n-tuple)来表示,n元组对应表中的一行。在关系模型中,关系...

2019-03-17 14:14:00 719

原创 数据库系统——001概论

001.概述1. 说明本章内容对数据库的性质和目标进行了一般性的综述,解释了数据库系统的概念是如何发展的,各数据库系统的共同特性是什么,数据库系统能为用户做什么,以及数据库系统如何与操作系统交互。数据库管理系统(DataBase-Management System, DBMS)是由一个互相关联的数据的集合和一组用以访问这些数据的程序组成的。这个数据集...

2019-03-01 19:41:00 827

原创 计算机图形学——001概论

001.概论内容:计算机图形学的概念、发展历程和应用001.1 计算机图形学的研究内容什么是计算机图形学(Computer Graphics)?ISO定义:计算机图形学是一门研究通过计算机将数据转换成图形,并在专门显示设备上显示的原理方法和技术的学科。IEEE:Computer graphics is the art or science of ...

2019-02-26 20:42:00 542

原创 Linux内核学习014——进程调度(三)

Linux内核学习014——进程调度(三)Linux调度算法在Linux中,调度器是以模块方式提供的,这样可以允许不同类型的进程有针对性地选择调度算法。这种模块化结构称为调度器类,其允许多种不同的可动态添加的调度算法并存,调度属于自己范畴的进程。每个调度器有一个优先级,基础调度器会依优先级遍历调度类,拥有最高优先级的调度器类选择将要执行的程序。CFS...

2019-02-10 21:15:00 364

原创 Win10下使用Mingw编译Lua

Win10下使用Mingw编译Lua介绍Lua(葡萄牙语月亮)是一门简洁、轻量、可扩展的脚本语言,官方版本只包括一个精简的核心和最基本的库,使得其体积小、启动速度快,从而特别适合嵌入到其它程序里。它由巴西里约热内卢 Pontifical Catholic 大学的 PUC-Rio 团队 开发。 Lua 是一个 自由软件, 广泛应用于世界上无数产品和项目。...

2019-02-09 19:49:00 1046

原创 Linux内核学习013——进程调度(二)

Linux内核学习013——进程调度(二)Linux的进程调度早期版本(1~2.4)的Linux内核中,调度程序十分简陋,其设计易于理解但是非常原始。采用所有任务的方式完成调度,其复杂度为O(n)。这一方法不能在多进程或者多处理器环境下使用,在Linux2.5中引入了O(1)调度器。O(1)调度器在数以十计的多处理器环境下表现出非常好的性能,但是该调度...

2019-02-08 19:10:00 138

原创 Linux内核学习012——进程调度(一)

Linux内核学习012——进程调度(一)进程是程序运行态的表现形式,而确保进程有效工作的是一个内核子系统——调度程序。调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间。进程调度程序可以视为可运行态进程之间分配有限处理器时间资源的内核子系统。调度程序是多任务操作系统的基础,只有通过调度程序的合理调度,系统资源才能最大限度发挥作用。多任务多...

2019-02-07 19:57:00 220

原创 Linux内核学习011——进程管理(七)

Linux内核学习011——进程管理(七)进程终结当一个进程终结时,内核必须释放其所占有的资源,并通知其父进程。一般而言,进程的结束是由自身引起的。进程中介发生在进程调用exit()系统调用时,无论是显式调用或者是隐式地从某个程序的主函数返回。当进程终结时,主要时依靠do_exit()完成,该函数定义于Linux2.6.34//kernel/exit...

2019-02-06 20:24:00 1046

原创 Linux内核学习010——进程管理(六)

Linux内核学习010——进程管理(六)线程进程(process)是计算机中已经运行程序的实体,是系统进行资源分配的基本单位。每个进程都被操作系统分配了一定的资源,比如:内存、文件、信号量等。程序本身只是指令和数据的集合,进程才是程序的执行实体。在现代操作系统中,引入了线程的概念。线程(thread)是操作系统能够进行运算调度的最小单位,其被包含在进...

2019-02-05 20:06:00 271

原创 Linux内核学习009——进程管理(五)

Linux内核学习009——进程管理(五)进程创建许多操作系统提供了产生(spawn)进程的机制:首先在新的地址康健创建进程,读入可执行文件,然后开始执行。Linux的进程创建有些不同,它将上述步骤分解到两个单独的函数中去执行:fork()和exec函数族。过程如下:首先通过fork()函数拷贝当前进程创建一个子进程,子进程与父进程的区别在于PID...

2019-02-04 19:46:00 244

原创 Linux内核学习008——进程管理(四)

Linux内核学习007——进程管理(四)进程家族树Unix系统的进程之间存在一个明显的继承关系,所有的进程都是PID为1的init进程的后代。内核在系统启动的最后阶段启动init进程,然后init进程读取系统的初始化脚本并执行其他的相关程序,最终完成系统启动的整个过程。在Linux系统中有三个特殊的进程,idle进程(PID=0),init进程(...

2019-02-03 21:38:00 988

原创 Linux内核学习007——进程管理(三)

Linux内核学习007——进程管理(三)进程状态在进程描述符中,long类型的state描述了进程的当前状态。如下所示:进程状态可以分为三大类:>0 停止运行,=0可以运行,-1不可运行。2019-02-02_193524.png实际上系统中的进程可以处于以下五种状态之一:TASK_RUNNING(运行)——进程是可执行的...

2019-02-02 20:25:00 174

原创 Linux内核学习006——进程管理(二)

Linux内核学习006——进程管理(二)之前提到在Linux内核中把进程(process)叫做任务(task),因此我会交替使用这两个术语,本质上它们指的是同一个东西。进程描述符及任务结构内核中把进程的列表存放在任务队列(一个双向循环链表)中,链表中的的每一项都是类型为task_struct的结构体,叫做进程描述符。该结构体描述了一个进程的所有信息...

2019-02-01 21:09:00 159

原创 Linux Kernel学习005——进程管理(一)

Linux Kernel学习005——进程管理(一)本节引入进程的概念,进程是操作系统中最基本的抽象概念。操作系统内核中设计如何管理进程:创建进程,表示进程,终止进程等。操作系统要给用户程序提供一个运行环境,因此,进程管理就是内核中很重要的一部分结构。介绍进程就是进行中的程序,也即处于执行期的程序。进程并不仅仅是一段可执行程序代码,进程还包括当前活动...

2019-01-31 20:23:00 268

原创 虚拟机启用文件传递

虚拟机启用文件传递本文介绍使用VMWare时启用Linux虚拟机和Windows实体机之间启用文件传递的方法open-vm-tools一般而言,我们可以使用vmware-tools的开源版本open-vm-tools帮助我们达到虚拟机和实体机之间复制拖曳的功能。完成安装后重启虚拟机一次即可。安装方法:Ubuntu/Debian/Deepin等:...

2019-01-30 21:21:00 148

原创 C语言004——标识符和关键字

C语言004——标识符和关键字标识符在编写程序时需要对变量、常量、函数、宏等实体进行命名,这些名称成为标识符。在C语言中,标识符是由大小写字母、数字和下划线组成且不能以数字开头的字符串。合法标识符示例:_name、Next、word非法标识符示例:10names、get-name注:C语言区分大小写,即ab、aB、Ab、AB是四个不同的标识符。...

2019-01-29 19:03:00 976

原创 C语言003——基本概念

C语言003——基本概念预处理指令int main(){ 语句 return 0;}一个简单的C程序基本具备如上所示的结构,包括:预处理指令,函数和语句。预处理指令在编译器编译C程序之前,会调用预处理器处理程序中的预处理指令。预处理指令是由#开头的具有特定功能的指令,比如#include <stdio.h>会将...

2019-01-28 21:35:00 301

原创 C语言002——简单解释

C语言002——简单解释C语言标准为了让编写的C语言程序可以在多种平台上编译使用,必须要遵循一定的标准。在C语言发展指出,并没有一个标准。随着C语言的不断发展,美国国家标准协会(ANSI)于1989年公布了一个C语言标准,该标准定义了C语言和C标准库,一般称之为C89或ANSI C。随后,国际标准化组织于1990年采用了这套标准,一般称之为C90。AN...

2019-01-27 20:45:00 407

原创 C语言001——第一个程序

C语言001——第一个程序编译器、编辑器、调试器、IDE在上一节中提到了高级程序设计语言不能直接被计算机所理解并执行,因而需要一个翻译程序来帮助我们将高级语言程序翻译为机器语言程序,这样计算机才能执行。对于C语言这样的编译型语言而言,这一翻译程序叫做编译器。在不同的操作系统上有不同的C语言编译器,也有些C语言编译器是跨平台的——即可以在多种操作系统上执...

2019-01-26 20:18:00 296

原创 C语言000——开始

C语言000——开始介绍本系列博客主要面向于新手,提供一个从零开始的基础C语言教程。开发环境如下:操作系统:Windows 10IDE:Qt Creator编译器:Mingw64-7.3.0C语言介绍C是一种通用的编程语言,广泛用于系统软件与应用软件的开发。于1969年至1973年间,为了移植与开发UNIX操作系统,由丹尼斯·里奇与肯...

2019-01-25 18:43:00 462

原创 Linux Kernel学习004——内核开发特点

相对与在用户空间内的应用开发,内核开发有很多独特之处:不能访问C库和标准C头文件必须使用GNU C没有内存保护机制难以执行浮点运算每个进程只有很小的定长堆栈必须保证同步与并发考虑可移植性无libc和标准头文件libc的实现是依赖于内核的,因此,内核中不存在可以直接使用的libc。但是,大部分常用的C语言库函数都在内核中得到了实现(在l...

2019-01-24 21:04:00 135

原创 Linux Kernel学习003——内核源码

Linux内核官网为:https://www.kernel.org/目前,内核最新的稳定版本是4.20.4(2019/01/23),下一个大版本就要进入5.x的时代了。内核版本获取内核源码我选择学习的这个内核版本为:2.6.34。可以下载该内核版本,或者通过在线网站浏览内核源码。下载内核,官网地址:https://mirrors.e...

2019-01-23 21:13:00 439

原创 Linux Kernel学习002——简介(二)

操作系统和内核简介操作系统的精确定义没有一个统一的标准。一般而言,操作系统是指在整个系统中负责完成最基本功能和系统管理的那些部分。这些部分应该包括内核、设备驱动程序、启动引导程序、命令行SHell或者其他种类的用户界面、基本的文件管理工具和系统工具。系统这个词其实包含了操作系统和所有运行在它之上的应用程序。用户界面是操作系统的外在表象,内核才是操作系统的内在核心。系统的其他部分...

2019-01-22 18:55:14 168

原创 Linux Kernel学习001——简介(一)

严格来说,Linux是一个像Unix内核一样设计的操作系统内核。而今天的UNIX是一个用Open Group拥有的商标。对于自称为UNIX的系统,它需要满足某些条件,通过一致性测试并许可名称。关于哪些操作系统通过了Open Group的认证,可以访问Open Group的官网。链接。Apple有趣的是,Mac OS X自10.5到最新的10...

2019-01-21 18:01:00 406

原创 Linux Kernel学习000——前言

0.1 介绍主要是记录自己学习Linux内核的过程,采用的内核版本为2.6.34。基于Linux 2.6.34 内核详细介绍Linux内核系统,覆盖了核心内核系统的应用到内核设计与实现的各方面内容。主要内容:进程管理进程调度时间管理和定时器系统调用接口内存寻址内存管理和页缓存VFS抢占式内核块I/O层I/O调度程序参考书籍:《...

2019-01-20 19:02:00 133

原创 Ninja——小而快的构建系统

介绍Ninja 是Google的一名程序员推出的注重速度的构建工具,一般在Unix/Linux上的程序通过make/makefile来构建编译,而Ninja通过将编译任务并行组织,大大提高了构建速度。安装目前最新版本是17年9月11日推出的v1.8.2,可以直接在github上下载其二进制文件,链接。或者通过你所使用的系统的包管理器,比如apt、p...

2019-01-19 19:18:00 28159

原创 Ubuntu 18.04安装N卡驱动以及cuda

通过ppa源安装添加源sudo add-apt-repository ppa:graphics-drivers/ppasudo apt update检测显卡版本及推荐的驱动$ ubuntu-drivers devices== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==modal...

2019-01-18 19:34:00 1350

原创 Rufus——启动盘创建工具

Rufus介绍Rufus是一个小巧精致的创建USB启动盘的软件(仅支持Windows),官网。官网介绍:Rufus 是一个可以帮助格式化和创建可引导USB闪存盘的工具,比如 USB 随身碟,记忆棒等等。在如下场景中会非常有用:你需要把一些可引导的ISO格式的镜像(Windows,Linux,UEFI等)创建成USB安装盘的时候你需要使用一个...

2019-01-17 16:17:00 37675

原创 操作系统笔记6-导论(六)

操作系统笔记6-导论(六)进程管理程序只有加载到内存,由CPU执行才能进行具体的操作。执行中的程序称为进程。进程需要计算机的资源以完成任务,如:CPU、内存、文件、I/O设备等。进程是系统的工作单元。系统由多个进程组成,需要对其进行管理。操作系统负责进程管理的以下活动:在CPU上调度进程创建和删除进程挂起和重启进程提供进程同步机制提供进...

2019-01-16 20:19:00 111

原创 操作系统笔记5-导论(五)

操作系统的执行现代操作系统是由中断驱动的,在没有用户需要响应时,操作系统会等待直到某个事件的发生。事件总是由中断或陷阱引起的。陷阱(或者叫异常)是一种软件生成的中断,或源于出错,或源于请求系统调用。由于操作系统和用户共享计算机系统的资源,而且用户一般有多个程序在运行,因此需要确保用户程序的出错仅影响自身,不会影响操作系统或其他用户程序。双重模式和多重...

2019-01-15 19:40:00 303

原创 Cygwin

Cygwin介绍Cygwin是什么?大量GNU和开源工具的合集,提供类似于Windows上的Linux发行版的功能。一个提供大量POSIX API功能的动态链接库cygwin1.dll.Cygwin不是什么?一种直接Windows系统上运行Linux原生应用的方式。(但是大多数程序,可以重新从源码编译使用)一种神奇地使本机Windows...

2019-01-14 19:23:00 881

原创 Cmus终端音乐播放器

Cmus介绍cmus是一个小巧精致的运行于类Unix系统上的命令行音乐播放器。支持多种音频格式:Ogg Vorbis, MP3, FLAC, Opus, Musepack, WavPack, WAV, AAC以及所有ffmpeg支持的格式。安装使用各个发行版的包管理其即可安装。# Fedorasudo dnf install cmus# C...

2019-01-13 20:58:00 2548

原创 Qt开发环境搭建(win10)

Qt开发环境1.介绍Qt是一个跨平台的C++图形用户界面应用程序框架,提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt可以帮助我们轻松地使用C++开发跨平台地GUI程序。2.下载目前Qt的最新版本达到了5.12.0,这是一个LTS,可以去其官网下载,不过推荐国内镜像源清华的tuna,链接。下载如上图所示,选择你的系统...

2019-01-12 19:57:00 2560

原创 Bash编程019——管道

Bash编程019——管道之前在输入输出重定向中提到,每个进程默认都有三个对应的文件描述符(stdin、stdout、stderr),可以通过< >来重定向进程的文件描述符。如果要在进程间传递数据的话,使用输入输出重定向就比较麻烦了。比如:ls / > ls.txtgrep bin < ls.txt# 输出如下:bins...

2019-01-11 10:58:00 228

原创 Bash编程018——权限管理

Bash编程018——权限管理18.1权限介绍Linux是一个支持多用户的系统,为了区分管理不同用户的文件,Linux设置了不同的访问权限区别不同的用户。对一个文件而言,将访问它的用户分为三类:文件拥有者,拥有者同组的成员,其他组的成员。cd ~ls -l# 输出如下:总用量 64drwxrwxr-x 2 ruo ruo 4096 1月 ...

2019-01-10 19:45:00 130

原创 Bash编程017——文件类型与格式

Bash编程017——文件类型与格式17.1 文件计算机能在多种不同的物理介质上存储信息,为了方便地使用计算机系统,操作系统一般提供了信息存储的统一逻辑接口。操作系统对存储设备的各种属性加以抽象,从而定义了逻辑存储单元(文件)。文件是记录在外存上的关联信息的集合。17.2 文件类型在Linux文件系统中通常有多种文件类型,最常见的是普通文件和目录。...

2019-01-09 16:37:00 485

原创 Bash编程016——用户与组(二)

Bash编程016——用户与组(二)用户与组的管理管理用户与组的命令工具useradd,添加新的用户usermod,修改已经存在的指定用户userdel,删除已经存在的指定用户groupadd,添加新的组groupmod,修改已经存在的组groupdel,删除已经存在的组这里给出一些简单的使用帮助,详细信息请参阅man手册。# 查看...

2019-01-08 17:25:00 199

原创 Bash编程015——用户与组(一)

Bash编程015——用户与组Linux系统是一个多用户系统,允许多个用户同时登录到系统,使用系统资源。当多个用户同时使用系统时,需要区分不同的用户,这就需要一种秩序,规范每个用户的权限。Linux采用用户账户来区分不同的账户,账户实际上是一个用户在系统上的标识,系统根据账户ID来区分每个用户的文件、进程、任务等资源,并给每个用户提供特定的工作环境,使每...

2019-01-07 21:02:00 134

原创 Bash编程014——文件管理

Bash编程014——文件管理Unix/Linux系统中将几乎一切都是为文件,所有操作都离不开文件,因而学习管理、操作文件是极为重要的。注:目录也是文件的一种,它记录着当前目录下的文件项,但并不实际保存文件的数据。一般我们打开终端,所处的目录默认为当前登录用户的家目录(或者叫主目录, home directory)。对于一般的用户$HOME环境变量记录...

2019-01-06 20:02:00 110

Java语言程序设计 进阶 10th

《Java语言程序设计进阶篇》(原书第5版)的主要特点:基础篇介绍基础内容,进阶篇介绍高级内容,教师能够按需选择理想的教材。包括面向对象程序设计的深入论述,包含GUI程序设计的基础和扩展实例。提供大量实例,实例中都包括问题求解的详细步骤,可激发学习兴趣。覆盖Java程序设计的众多高级主题。涉及Level I Java认证考试所需的全部主题。提供大量难易程度不同的习题,在作者的网站 http://www.cs.armstrong.edu/liang/intro5e.html)中还提供了1000多道自测题

2018-07-08

GitHub入门与实践.pdf

本书从Git的基本知识和操作方法入手,详细介绍了GitHub的各种功能,GitHub与其他工具或服务的协作,使用GitHub的开发流程以及如何将GitHub引入到企业中

2017-09-02

空空如也

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

TA关注的人

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