随笔分类 -  4. 操作系统

摘要:1. 介绍 "LAMP" 是一组开源软件的集合。 Linux 底层的操作系统, Apache 驱动Web网站的服务器, Mysql 存储网站数据的数据库, PHP 用来编写网站的编程语言。 本文档基于Ubuntu 18.04 操作系统 2. Ubuntu 服务器初始化 为了提高操作系统安全性,以及发 阅读全文
posted @ 2018-11-29 10:58 elewei 阅读(170) 评论(0) 推荐(0)
摘要:1. 简介 Windows系统服务是一个不需要用户登入就可以一直在后台运行的服务程序, 通过服务管理控制器(Service Control Manager, SCM)可以操作系统服务启动、停止、自动运行等。 服务管理控制器(Service Control Manager, SCM) 维护着操作系统所 阅读全文
posted @ 2018-03-30 16:33 elewei 阅读(1841) 评论(0) 推荐(1)
摘要:参考文档: * Linux源码树 Documentation/Changes 文档查看 总图 Linux整个构建系统的目的是生成一个可启动的二进制文件, zImage构建过程如下 第一步:内核初始化 make distclean, mrproper 第二步:内核配置 kconfig make men 阅读全文
posted @ 2018-01-08 21:11 elewei 阅读(302) 评论(0) 推荐(0)
摘要:Linux 旗标实现 <asm/semaphore.h> 在头文件中,struct semaphore 有几种初始化旗标的方法 第一种,直接创建一个旗标,接着使用sema_init 来设定它 第二种, 以互斥锁的模式使用。 name 为旗标变量 第三种,如果互斥锁必须在运行时间初始化,使用下列中的一 阅读全文
posted @ 2018-01-07 15:24 elewei 阅读(221) 评论(0) 推荐(0)
摘要:一、内核kernel hacking调式菜单 在需要调式内核时,在编译时在kernel hacking菜单中 CONFIG_DEBUG_KERNEL 打开则使其他调式选项可用 CONFIG_DEBUG_SLAB 打开内核内存分配函数的几类检查,可以探测到一些内存覆盖和遗漏初始化错误。 CONFIG_ 阅读全文
posted @ 2018-01-07 13:55 elewei 阅读(248) 评论(0) 推荐(0)
摘要:本文档是总结编写一个完整的字符驱动需要的所有知识与技能。 字符设备通常用来与用户程序之间传输数据。 概念一、主次编号 在文件中 Documentation/admin-guide/devices.txt 查看所有静态分配的版本号 主编号标识设备相连的驱动,例如/dev/null 和 /dev/zer 阅读全文
posted @ 2018-01-06 17:18 elewei 阅读(279) 评论(0) 推荐(0)
摘要:进程间通信的方式: * 管道 * FIFO(命名管道) * 信号量 * 消息队列 * 共享内存 * socket 通常把一个进程的输出通过管道连接到另一个进程的输入。 Linux系统中的进程通信方式主要以下几种: 同一主机上的进程通信方式 * UNIX进程间通信方式: 包括管道(PIPE), 命名管 阅读全文
posted @ 2017-12-31 15:27 elewei 阅读(550) 评论(0) 推荐(0)
摘要:一、什么是线程? 线程是一个进程内部的一个控制序列。 当进程执行fork调用时,将创建出该进程的一份副本。这个新进程拥有自己的变量和自己的PID,它的时间调度也是独立的, 它的执行几乎完全独立于父进程。 当进程创建一个新线程时,新的执行线程将拥有自己的栈(因此也有自己的局部变量),便与它的创建者共享 阅读全文
posted @ 2017-12-30 23:11 elewei 阅读(592) 评论(0) 推荐(0)
摘要:参考目录: Linux 内核设计与实现 第13章 虚拟文件系统 Linux 程序设计与实现 第3章 文件操作 内核文件系统主要数据结构: * 超级块对象 super_block,代表一个具体的已安装文件系统 * 索引结点对象 inode,代表一个具体文件 * 文件对象 file,代表由进程打开的文件 阅读全文
posted @ 2017-12-19 23:29 elewei
摘要:1. 简介 操作系统是管理硬件资源,为上层库与软件提供接口系统软件。 2. 基于Linux操作系统 3. 基于Windows操作系统 4. 操作系统软件 操作系统设置 一、参考资料 <Understanding the Linux Kernel> Daniel P.Bovet && Marco Ce 阅读全文
posted @ 2017-10-19 22:02 elewei
摘要:主要分类: 数据定义语言(DDL): 用于创建和重构数据库对象,创建和删除表。(CREATE, ALTER, DROP) 数据操作语言(DML):对象数据进行增删改查(INSERT, UPDATE, DELETE) 数据查询语言(DQL): SELECT 数据控制语言(DCL): 控制对数据库里数据 阅读全文
posted @ 2017-07-01 21:21 elewei 阅读(186) 评论(0) 推荐(0)
摘要:虚拟主机 在单一机器上运行多个网站(company1.example.com, company2.example.com) 虚拟主机方式: 基于IP:每个IP一个站点 基于域名:每个IP多个站点 主机配置以外的部分称为默认服务器、主服务器或全局服务器 基于域名 假设仅有一个IP地址,却想支持多个WE 阅读全文
posted @ 2016-12-28 16:51 elewei
摘要:一、SVN架构图 二、SVN服务器部署(三种方案) 配置第一种服务:Apache + mod_dav_svn 第一步: 准备工作: 第二步:安装httpd 与 svn 确认Apache已经安装mod_dav_svn, 与 authz_svn 模块 第三步:建立SVN根目录 第四步:SVN 整合apa 阅读全文
posted @ 2016-11-10 13:57 elewei
摘要:当一个进程出现错误的时候,进程可以会有三种方式去发送日志: stderr (标准错误输出) a file (一个文件中) syslog (系统日志) 一、标准错误输出设备(stderr) 标准输出(设备)文件,对应终端的屏幕。进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将 阅读全文
posted @ 2016-10-31 22:29 elewei 阅读(655) 评论(0) 推荐(0)
摘要:概念术语: 完整主机名(FQDN):Fully Qualified Domain Name 正解:从主机名查询到IP的流程 反解:从IP反解析到主机名的流程 区域:每个领域的记录 SOA(Start of Authority):,开始验证 NS(NameServer):名称服务器 A(Address 阅读全文
posted @ 2016-10-21 10:33 elewei 阅读(17346) 评论(0) 推荐(0)
摘要:变量名 $variable 是 ${variable}的简写, 双引号括起来的变量替换是不会被阻止的,叫弱引用,单引号则会被阻止,也叫强引用。 变量在赋值时,前后不能有空格。 Bash变量不区分类型,Bash变量都是字符串。 阅读全文
posted @ 2016-10-20 11:02 elewei 阅读(344) 评论(0) 推荐(0)
摘要:Shell Types: sh bash csh tcsh ksh 什么时候不适合使用shell脚本? 资源密集型的任务,尤其在需要考虑效率时(比如,排序,hash等等) 需要处理大任务的数学操作,尤其是浮点运算,精确运算。 有跨平台移植需求 复杂的应用,在必须使用结构化编程的时候。 至关重要的应用 阅读全文
posted @ 2016-10-20 09:42 elewei 阅读(196) 评论(0) 推荐(0)
摘要:第一步:启动网卡 第二步:查看IP地址后,用putty或CRT链接 第三步:更新源,安装wget 第四步:系统时间更新和设定定时任务 第一种: 更新时间并写入BIOS http://www.pool.ntp.org/zone/cn 第二种:更新时间并且写入定时任务 第三种:每间隔5分钟和10分钟同步 阅读全文
posted @ 2016-10-17 10:23 elewei 阅读(1164) 评论(0) 推荐(0)
摘要:创建一个Git 第一步:下载最新的git包 第二步:配置你的名字 第三步:配置你的邮箱 使你的工作保持同步 第一步:克隆一个仓库 第二步:进入目录 初始化一个项目 查看当前状态 将文件放入缓存区 将文件提交 阅读全文
posted @ 2016-10-12 23:09 elewei 阅读(158) 评论(0) 推荐(0)
摘要:一、Linux 容器简介 一个容器是一个轻量级的,孤立的应用,能够分隔可以允许内核运行一系列的进程,但是独享用户空间且与主机系统分离,有三个基本特征: 独立命名空间(namespeces) 独立资源分配(control groups) 独立的增强的访问控制(SElinux) Docker被用来创建、 阅读全文
posted @ 2016-09-21 17:34 elewei 阅读(190) 评论(0) 推荐(0)