自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序员cxuan的个人主页

微信搜索公众号:程序员cxuan

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

原创 5万字、97 张图总结操作系统核心知识点

文末领取大图。这不是一篇教你如何创建一个操作系统的文章,相反,这是一篇指导性文章,教你从几个方面来理解操作系统。首先你需要知道你为什么要看这篇文章以及为什么要学习操作系统。搞清楚几个问题首先你要搞明白你学习操作系统的目的是什么?操作系统的重要性如何?学习操作系统会给我带来什么?下面我会从这几个方面为你回答下。操作系统也是一种软件,但是操作系统是一种非常复杂的软件。操作系统提供了几种抽象模型文件:对 I/O 设备的抽象虚拟内存:对程序存储器的抽象进程:对一个正在运行程序的抽象虚拟机:对整个.

2020-07-14 09:19:25 15514 11

原创 计算机发展极简入门

计算机自从 20 世纪 40 年代诞生以来,一直以史无前例的进步向前发展,如果说农业革命是第一次革命、工业革命是第二次革命的话,那么第三次革命就是 信息革命。计算机技术的进步几乎影响着社会的方方面面,硬件的进步使得程序员可以编写出各种各样优秀的应用软件。也许不久的将来虚拟现实、无人驾驶、无现金支付就会成为现实。计算应用分类计算机从用途上来讲主要分为三种:个人计算机(Personal Computer),也称为 PC,这是人们最熟知的一种计算机,个人计算机强调用户体验,价格低廉,性价比高,个人计算机

2020-07-30 11:09:07 3218

原创 真香!Linux 原来是这么管理内存的

Linux 内存管理模型非常直接明了,因为 Linux 的这种机制使其具有可移植性并且能够在内存管理单元相差不大的机器下实现 Linux,下面我们就来认识一下 Linux 内存管理是如何实现的。基本概念每个 Linux 进程都会有地址空间,这些地址空间由三个段区域组成:text 段、data 段、stack 段。下面是进程地址空间的示例。数据段(data segment) 包含了程序的变量、字符串、数组和其他数据的存储。数据段分为两部分,已经初始化的数据和尚未初始化的数据。其中尚未初始化的数据就是我

2020-07-28 13:49:48 9608 6

原创 主宰操作系统的经典算法

此篇文章带你梳理一下操作系统中都出现过哪些算法进程和线程管理中的算法进程和线程在调度时候出现过很多算法,这些算法的设计背景是当一个计算机是多道程序设计系统时,会频繁的有很多进程或者线程来同时竞争 CPU 时间片。 那么如何选择合适的进程/线程运行是一项艺术。当两个或两个以上的进程/线程处于就绪状态时,就会发生这种情况。如果只有一个 CPU 可用,那么必须选择接下来哪个进程/线程可以运行。操作系统中有一个叫做 调度程序(scheduler) 的角色存在,它就是做这件事儿的,调度程序使用的算法叫做 调度算

2020-07-24 15:22:50 21473 11

原创 47 张图带你 MySQL 进阶!!!

我们在 MySQL 入门篇主要介绍了基本的 SQL 命令、数据类型和函数,在局部以上知识后,你就可以进行 MySQL 的开发工作了,但是如果要成为一个合格的开发人员,你还要具备一些更高级的技能,下面我们就来探讨一下 MySQL 都需要哪些高级的技能MySQL 存储引擎存储引擎概述数据库最核心的一点就是用来存储数据,数据存储就避免不了和磁盘打交道。那么数据以哪种方式进行存储,如何存储是存储的关键所在。所以存储引擎就相当于是数据存储的发动机,来驱动数据在磁盘层面进行存储。MySQL 的架构可以按照三层模

2020-07-21 08:28:58 7345 2

原创 为什么编译原理被称为龙书?

碎碎念为什么这本书叫做 龙书(Dragon book)?这本书很有意思,它的书名是 《Compilers: Principles, Techniques, and Tools》,也就是编译器的原则、技术和工具。但它却画出了一个恐龙和骑士,恐龙身上写的是 Complexity of Compiler Design,也就是复杂的编译器设计,骑士的盾上写的是 Syntax Directed Granslation,也就是语法翻译。骑士的剑上看的不是很清楚,我猜测应该是优秀的编译器的意思。这是征服复杂性的隐喻

2020-07-17 08:32:21 12317 8

原创 小白如何学习操作系统?

很多读者问我如何学习操作系统?推荐几本操作系统可以看的书?操作系统都需要学什么?有哪些视频可以看吗?下面我就针对性的对这些问题做一下我自己的阐述。学习操作系统不是为了让你设计一个操作系统,而是为了让你更好的了解其运行原理。如果你觉得操作系统有些难度的话,强烈推荐看一下我的这本 PDF。程序员必知核心基础知识这个 PDF 能让你对计算机的硬件和运行原理有基本的入门。这本 PDF 可以说是对任何小白都适用了,如果你能看完,就说明你有一定的基础了,可以正式入门操作系统了。我学习操作系统是根据机械工业出

2020-07-16 09:33:47 15075 8

原创 Linux 进程必知必会

上一篇文章只是简单的描述了一下 Linux 基本概念,通过几个例子来说明 Linux 基本应用程序,然后以 Linux 基本内核构造来结尾。那么本篇文章我们就深入理解一下 Linux 内核来理解 Linux 的基本概念之进程和线程。系统调用是操作系统本身的接口,它对于创建进程和线程,内存分配,共享文件和 I/O 来说都很重要。我们将从各个版本的共性出发来进行探讨。基本概念Linux 一个非常重要的概念就是进程,Linux 进程和我们在进程和线程 这篇文章中探讨的进程模型非常相似。每个进程都会运行一

2020-07-10 08:58:31 5588 1

原创 MySQL 你可能忽视的选择问题

我们在 MySQL 入门篇主要介绍了基本的 SQL 命令、数据类型和函数,在局部以上知识后,你就可以进行 MySQL 的开发工作了,但是如果要成为一个合格的开发人员,你还要具备一些更高级的技能,下面我们就来探讨一下 MySQL 都需要哪些高级的技能MySQL 存储引擎存储引擎概述数据库最核心的一点就是用来存储数据,数据存储就避免不了和磁盘打交道。那么数据以哪种方式进行存储,如何存储是存储的关键所在。所以存储引擎就相当于是数据存储的发动机,来驱动数据在磁盘层面进行存储。MySQL 的架构可以按照三层模

2020-07-06 15:28:55 2307

原创 推荐几个硬核 Java 学习网站

推荐几个非常不错的 Java 学习网站LearnJava 在线这是一个非常不错的学习 Java 的在线网站,纯免费。这是一个个人项目,旨在通过简单有效的在浏览器中进行练习让你快速掌握 Java 编程语言。通过直接从网络浏览器运行实际代码,你无需在本地安装和执行代码就可以尝试编码,这无疑提高了编程效率和上手效率。你可以根据目录进行练习,有基础部分和高级部分,首先有例子代码,告诉你需要注意的事项以及详细的讲解,旨在把你教会后再让你进行练习。下面就是练习部分,练习部分没有固定在底部边框,可以自由滑动,能

2020-07-05 15:02:48 4022 3

原创 大家都在拼命进大厂,就我偏偏往二线跑

归乡已经一年半了,谈谈这一年半以来自己的生活感悟。关于通勤上班的距离明显感觉要比北京近很多,北京,通勤距离一般都以 10 公里为基准。10 公里一迭代。而我在老家的通勤距离最多也就 10 公里,这几乎都算是最远的距离了。而且北上广深的上班族几乎都是装在地铁里的人,同为码农的你,想一想,有多久没有出门看过外面的太阳了?加班加的还记得今天是周几么?在老家,距离短的直接骑车子、电动车就可以搞定,太远的可以选择公交、打车也能解决。在北京,地铁 -> 地铁 -> 地铁 -> 地铁。尤其是晚

2020-07-02 20:46:42 8425 42

原创 Linux 操作系统!开篇!!!

此篇文章主要会带你介绍 Linux 操作系统,包括 Linux 本身、Linux 如何使用、以及系统调用和 Linux 是如何工作的。Linux 简介UNIX 是一个交互式系统,用于同时处理多进程和多用户同时在线。为什么要说 UNIX,那是因为 Linux 是由 UNIX 发展而来的,UNIX 是由程序员设计,它的主要服务对象也是程序员。Linux 继承了 UNIX 的设计目标。从智能手机到汽车,超级计算机和家用电器,从家用台式机到企业服务器,Linux 操作系统无处不在。大多数程序员都喜欢让系统尽量

2020-07-02 13:02:38 6453 5

空空如也

空空如也

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

TA关注的人

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