操作系统_再识(序言)

从来都没有写过博客,想写一些博客记录一些学习经历。 工作三年了,再次选择未来工作时,还是有一些纠结。我大学是学计算机科学与技术出身的。 大学期间,觉得对计算机有所了解。大学时学的课程: 大一:C语言,计算机一些基础课程。 大二:数据结构,汇编语言,数电/模电分析,算法导论。...

2013-05-27 22:39:37

阅读数 559

评论数 1

pyCharm_破解

本教程对jetbrains全系列可用例:IDEA、WebStorm、phpstorm、clion等因公司的需求,需要做一个爬取最近上映的电影、列车号、航班号、机场、车站等信息,所以需要我做一个爬虫项目,当然java也可以做爬虫,但是还是没有python这样方便,所以也开始学习Python啦!!!欲...

2018-06-21 09:14:06

阅读数 295

评论数 0

Python 3.X 调用多线程C模块,并在C模块中回调python函数的示例

由于最近在做一个C++面向Python的API封装项目,因此需要用到C扩展Python的相关知识。在此进行简要的总结。   此篇示例分为三部分。第一部分展示了如何用C在Windows中进行多线程编程;第二部分将第一部分的示例进行扩展,展示了如何在python中调用多线程的C模块;第三部分扩展了第...

2017-07-27 17:25:21

阅读数 371

评论数 0

linux 下动态链接实现原理

符号重定位 讲动态链接之前,得先说说符号重定位。 c/c++ 程序的编译是以文件为单位进行的,因此每个 c/cpp 文件也叫作一个编译单元(translation unit), 源文件先是被编译成一个个目标文件, 再由链接器把这些目标文件组合成一个可执行文件或库,链接的过程,其核心工作是解决模...

2017-07-11 15:23:37

阅读数 207

评论数 0

linux动态链接库全局变量共享问题&DLL共享数据段

Linux写时拷贝技术(copy-on-write) 进程间是相互独立的,其实完全可以看成A、B两个进程各自有一份单独的liba.so和libb.so,相应的动态库的代码段和数据段都是各个进程各自有一份的。 然后在这个基础上,由于代码段是不会被修改的,所以操作系统可以采用copy on...

2017-07-11 15:14:06

阅读数 508

评论数 0

[转]Linux下共享库(SO)有关的几个环境变量

[转]Linux下共享库(SO)有关的几个环境变量 Linux支持共享库已经有悠久的历史了,不再是什么新概念了。大家都知道如何编译、连接以及动态加载(dlopen/dlsym/dlclose) 共享库。但是,可能很多人,甚至包括一些高手,对共享库相关的一些环境变量认识模糊。当然,不知道这些环境变量...

2017-07-11 14:18:20

阅读数 232

评论数 0

nginx平台初探(100%)

nginx平台初探(100%) 初探nginx架构(100%) 众所周知,nginx性能高,而nginx的高性能与其架构是分不开的。那么nginx究竟是怎么样的呢?这一节我们先来初识一下nginx框架吧。 nginx在启动后,在unix系统中会以daemon的方式在后台运行,后台进程包含...

2017-05-08 20:11:18

阅读数 212

评论数 0

程序员必读书单

程序员必读书单 作者:Lucida 微博:@peng_gong豆瓣:@figure9 原文链接:http://lucida.me/blog/developer-reading-list/ 关于 本文把程序员所需掌握的关键知识总结为三大类19个关键概念,然后给出了掌握每个关键概念所需的...

2017-05-08 20:10:04

阅读数 787

评论数 0

Linux系统启动流程简析

在日常生活中,我们开机的操作一般为按下电源键,等待系统自己起来就好了。这开机的过程看似简单,但其中却包含着十分复杂的各种小过程。以Linux为例,其流程为下图所示:   一、POST 首先,先介绍下BIOS和POST的概念。 BIOS:Basic Input...

2017-02-03 14:05:39

阅读数 223

评论数 0

从头构建自己的Linux系统

在博文“Linux系统启动过程分析”中我们了解了linux系统的启动流程,今天我们就来手动一步一步从头来构建一个最小的linux系统,然后用模拟器将其加载起来。常见的模拟器有Qemu、Bochs、VMWare、VPC、Virtual Box和Xen等,以及特殊的模拟UML(User-Mode-...

2017-02-03 13:28:14

阅读数 3677

评论数 0

[原创]Linux系统启动过程分析

经过对Linux系统有了一定了解和熟悉后,想对其更深层次的东西做进一步探究。这当中就包括系统的启动流程、文件系统的组成结构、基于动态库和静态库的程序在执行时的异同、协议栈的架构和原理、驱动程序的机制等等。        本人在综合了现有网上大家智慧的基础上,结合对2.6.32的内核代码的研读...

2017-02-03 13:27:38

阅读数 141

评论数 0

mount -o loop 回环设备相关

先让我们来了解下: 回环设备(loop-back devices)  回环设备( 'loopback device')允许用户以一个普通磁盘文件虚拟一个块设备。设想一个磁盘设备,对它的所有读写操作都将被重定向到读写一个名为 disk-image 的普通文件而非操作实际磁盘或分区的轨道和...

2017-02-03 13:27:04

阅读数 310

评论数 0

GRUB入门教程

http://wiki.ubuntu.org.cn/GRUB%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B GRUB入门教程 原文出处:未知 原文作者:未知 授权许可:创作共用协议 翻译人员:未知 编辑人员:rApJtR ...

2017-02-03 13:26:12

阅读数 174

评论数 0

GRUB简单入门教程

一、什么是多重操作系统引导管理器,什么是GRUB;   1、什么是多重操作系统引导管理器及工作原理; 系统启动引导管理器,是在计算机启动后运行的第一个程序,他是用来负责加载、传输控制到操作系统的内核,一旦把内核挂载,系统引导管理器的任务就算完成退出,系统引导的其它部份,比如系统的初始化及...

2017-02-03 13:25:22

阅读数 5761

评论数 0

GRUB启动分析之stage1.5

前言 上一篇博文介绍了GRUB源码的stage1.S会汇编成一段446字节的sourcecode,stage1,grub会将这个stage1放入MBR中。我们通过分析,知道这段代码的唯一作用就是将第二个扇区(0柱面 0 磁道 2扇区)处的512字节加载到内存中去。 一个问题就来了这个5...

2017-02-03 13:24:36

阅读数 504

评论数 0

GRUB启动分析之stage1

引言 玩Linux的人,肯定会听说过Grub这个神奇的东西,就是开机启动时候下拉一个菜单让我们选操作系统的那个东东。自己比较懒,一直没深入琢磨这个Grub的工作原理流程。最近工作遇到了Grub相关的问题,就花了一些时间学习了一下Grub。 闲言少叙。我们首先看下Linux的启动过程流程...

2017-02-03 13:23:24

阅读数 1311

评论数 0

Git使用教程

Git使用教程  一:Git是什么?        Git是目前世界上最先进的分布式版本控制系统。 二:SVN与Git的最主要的区别?       SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活...

2017-01-25 14:11:41

阅读数 101

评论数 0

学习GitHub

为了在windows下使用Git,我们需要安装msysGit这个客户端工具,它可以让我们用CMD或者GUI的方式使用Git。 下载地址1:https://git-for-windows.github.io/ 下载地址2:https://Git-scm.com/download/ ...

2017-01-25 13:55:58

阅读数 125

评论数 0

select epoll 完成端口

select、poll、epoll之间的区别总结[整理]   select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都...

2017-01-18 09:40:43

阅读数 657

评论数 0

c++搜索引擎库

Apache Lucy 是一个全文搜索引擎库,使用 C 语言编写,主要面向一些动态语言,目前提供 Perl 语言的绑定。相当于是 C 语言版的 Lucene 。 LucenePlusPlus (1)CLucene CLucene是Lucene的一个C...

2016-12-19 14:19:58

阅读数 626

评论数 0

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