Daily Archives: January 20, 2015


把操作系统(Linux)运行在内存上

0. 写在前面 笔者把Linux装在了USB3.0的U盘上。但运行速度还是很慢。于是想更改Linux的Boot Loader,让它在每次启动时,把整个操作系统加载到内存。这样Linux的运行速度将有极大的提升。()此外,为了保存系统更改,作者把U盘上的一个分区挂载到/home位置。这样用户的数据(音乐、文档、应用程序等)就会在关机后得到保存。但是,系统数据(安装的Package,设置等)在重启后还是会被还原,文末给出了一个解决办法。 本文章翻译自:Making Ubuntu Fast using RAM (Updated and Simplified)和 Making Ubuntu Insanely Fast using RAM 。笔者适当地修改了原文的流程,并增添了一些终端命令的解释,使之更适合大陆用户和Linux初学者。 谨向原文作者terminator14和GNU开源社区的贡献者们致敬。 1. 适用人群 觉得Linux运行较慢,电脑内存较大(最少2G,推荐4G或更多),爱折腾的同学。 2. 总体流程 a. 将系统文件拷贝到临时文件夹; b. 将临时文件夹中的文件制作成内存可载入的映像; c. 更改Boot Loader,新增启动项,并将其指向我们制作的映像; d. 重启,享受飞一般的感觉(insanely fast)。 3. 操作步骤 3.1 原料 一份Linux内核的操作系统。文章以Ubuntu 14.04为例,其他发行版本与之类似。 注:Linux是一些操作系统的内核(Kernel)。Linux是开源的(免费且公开),很多发行商将Linux打包,并添加了自己开发的系统程序和图形界面(GUI),于是便有了各种不同的发行版本(Distribution)。常见的发行版本有Ubuntu,Red Hat,Debian,CentOS等,但他们的内核都是Linux。 举个例子:Android的内核是开源的,很多手机厂商(如三星,HTC)把Android的内核做修改优化,添加了自己的系统程序和图形界面封装成ROM,或继续开发硬件,制作成手机发售。但他们本质上都是Android机。 这里,Android内核就相当于Linux,而三星,HTC发行的ROM就相当于Ubuntu,Red Hat。 3.2检查磁盘容量 在Ubuntu命令行中输入: sudo du -hcs […]


[leetcode] Maximum Depth of Binary Tree

Maximum Depth of Binary Tree Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node. Show Tags Tree Depth-first Search 没啥说的,深度优先搜索(Depth-first Search),直接在网站上敲代码,一遍AC。 /** * Definition for binary tree * struct […]