大师网-带你快速走向大师之路 解决你在学习过程中的疑惑,带你快速进入大师之门。节省时间,提升效率

内核

内核是操作系统最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间。内核的分类可分为单内核和双内核以及微内核。严格地说,内核并不是计算机系统中必要的组成部分。

简明网络I/O与并发 --- I/O

简明网络I/O与并发 --- I/O 简明网络I/O与并发 --- I/O 简明网络I/O与并发 --- 并发 计算机的基本组成其实很简单,处理器,存储器加上输入输出设备,就能构成计算机。大至超级计算机,小到手机等都是一样的模型。计算的本质就是从输入设备读取数据处理然后输出。可以理解理解计算机做的事情就是IO和计算。 在网络发明之前,计算机从存储设备中读取数据,进程通过内存的通

面试题基础篇(html,css)--001

使用哪种HTML.或XHTML规范。(重点:告诉浏瓷器按照何种规范解析页面) 4. 为什么利用多个域名来存储网站资源会更有效? 外部样式表,引入一个外部css文件 内部样式表,将css代码放在 标签内部 内联样式,将css样式直接定义在HTM元素内部 6. CSS中可以通过哪些属性定义,使得一个DOM元素不显示在测览器可视范围内?

如何使用 chkconfig 和 systemctl 命令启用或禁用 Linux 服务

Upstart 是一个基于事件的 /sbin/init 守护进程的替代品,它在系统启动过程中处理任务和服务的启动,在系统运行期间监视它们,在系统关机的时候关闭它们。 它最初是为 Ubuntu 而设计,但是它也能够完美的部署在其他所有 Linux系统中,用来代替古老的 System-V。 Upstart 被用于 Ubuntu 从 9.10 到 Ubuntu 14.10 和基于 RHEL 6 的系统,之后它被 systemd 取代。 什么是 systemd?

OpenStack(Pike)连接 Ceph RBD

enabled_backends = ceph glance_api_version = 2 . BLOCK DEVICES AND OPENSTACK Ubuntu 16.04 Linux系统内核升级方法 OpenStack: Compute service

Linux Kernel Development Chapter 2: Getting Starte

安装内核源码 在官网下载的源码的压缩包, 需要先进行解压: tar zxvf linux-x.y.z.tar.gz tar jxvf linux-x.y.z.tar.bz2 tar Jxvf linux-x.y.z.tar.xz 使用 patch 补丁 如果已有某个版本的 LInux 代码, 可以使用补丁来更新代码: patch -p1 .) at kernel/timeconst.pl line 373. 这是因为 perl 版本更新的问题. 需要修改 kernel/timeconst.pl 文件中的 373 行, 去掉 defined , 将下面的代码 @val = @{$canned_values{$hz}};

Linux发行版 vs Linux内核

Linux发行版 vs Linux内核 Liunx发行版和Linux内核的关系? Linux 发行版(Linux distribution)是由Linux内核(Linux kernal)和 软件包管理系统组合而成的操作系统,软件包管理系统中包括应用程序和实用软件(例如 GNU tools and libraries),针对不同的用户,包里装着不同的组件。 一个典型的Liunx发行版通常包括: Linux kernel GNU tools and libraries additional software documentation window system (最常见的是 X

DannyWu带你学习Linux 内核编译,高效不走坑

DannyWu带你学习Linux 内核编译,高效不走坑 前言 Linux操作系统最重要的部分莫过于内核了,它负责管理系统的进程、内存、驱动程序、文件系统和网络系统,系统的性能和稳定性也由内核来决定。由于Linux是开源的,因此Danny就在想,能不能自己将Linux内核源码进行编译,根据自己的需求打造一个更高效、更稳定的Linux内核呢?下面Danny以Ubuntu为例带你学习如何编译Linux内核。 1.

多种方式判断PC端,IOS端,移动端

CPU.+Mac OS X/), //ios终端 android: u.indexOf('Android') -1 || u.indexOf('Adr') -1, //android终端 iPhone: u.indexOf('iPhone') -1 , //是否为iPhone或者QQHD浏览器 iPad: u.indexOf('iPad') -1, //是否iPad webApp: u.indexOf('Safari') == -1, //是否web应该程序,没有头部与底部 weixin: u.indexOf('MicroMessenger') -1, //是否微信 (2015-01-22新增) qq: u.match(/\sQQ/i) == " qq" //是否QQ }; } currentLang = navigator.language; image.gif

css3实现元素抖动效果

css3实现元素抖动效果 代码不多,不截图了,可自行尝试 说明 css部分比较冗余,是因为考虑到了适配情况。可酌情删减 -webkit-animation-name: shaky-slow; // webkit内核 -ms-animation-name: shaky-slow; // ie内核 animation-name: shaky-slow; // 原生 animation-duration: 4s; // 动画执行时间 animation-delay: 0s; // 动画等待时间 animation-iteration-count: infinite; // 动画执行次数,infinite为一直执行 animation-timing-function: ease-i

应用进程写数据到TCP/UDP套接口的过程及步骤解析

应用进程写数据到TCP/UDP套接口的过程及步骤解析 应用进程写数据到TCP套接口 每一个TCP套接口都有一个发送缓冲区,我们可以用SO_SNDBUF套接口选项来改变这一缓冲区的大小。当应用进程调用系统函数write时,内核从应用进程的缓冲区中拷贝所有数据到套接口的发送缓冲区。如果套接口的发送缓冲区容不下应用程序的所有数据(或是应用进程的缓冲区大于套接口发送缓冲区

Linux查询系统信息

Linux查询系统信息 Linux命令(查看系统信息) @Date 2017.07.10 查询命令 # head -n 1 /etc/issue # 查看操作系统版本 # hostname # 查看计算机名 # env # 查看环境变量 # lsmod # 列出加载的内核模块 # getconf LONG_BIT # 查询系统64位还是32位 # uname -r # 查询系统内核版本 # uname -a # 查询系统所有版本信息 查询CPU详情 # 查看CPU所有信息 cat /proc/cpuinfo # 查询CPU物理个数(本机器有几个CPU单元) cat /proc/cpuinfo |grep

Linux启动过程

Linux启动过程 传统 Linux SysV init 启动过程 按下计算机电源按钮开机 CPU查找系统的BIOS设置知道第一个引导设备,一般为硬盘 查找到硬盘的主引导记录(MBR),将其加载到内存并将控制权移交给MBR 主引导记录初始化引导程序(GRUB或LILO) GRUB引导程序加载内核模块 内核模块马上查找sbin下的init程序并执行她 init的进程id为1,成为后续linux系统的父进程 init进程读取/etc/inittab文件,

内核必须懂(二): 文件系统初探

内核必须懂(二): 文件系统初探 目录 前言 文件系统结构 新建文件和inode 文件创建过程 inode解析 打开文件 参考 最后 前言 这次来说文件系统. 一个比较好的解决办法就是在文件末尾不断添加数据, 而不是新建文件. 新建文件和inode 新建一个文件和文件夹, 用stat指令查看文件信息. 记录分配情况: 假如数据保存到了3个block中, 位置要记录到inode的磁盘序号列表中.

linux逻辑卷管理

linux逻辑卷管理 摘要:Linux用户安装Linux操作系统时遇到的一个最常见的难以决定的问题就是如何正确地给评估各分区大小,以分配合适的硬盘空间。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具(比如Patition Magic等),但这都只是暂时解决办法,没有根本解决问题。随着Linux的逻辑盘卷管理功能的出现,这些问题都迎刃而解,本

android匿名共享内存Ashmem(c库接口)

strlcpy(buf, name, sizeof(buf)); if (ret 0) { goto error; } 在函数中调用驱动接口: __ashmem_open __ashmem_open函数的实现如下: /* logistics of getting file descriptor for ashmem */ static int __ashmem_open_locked() { int ret; struct stat st; 将共享内存映射到用户空间 data = (char *)mmap(NULL, data.length, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); memcpy(data.data,gucDotBuffer,length); }else{ printf("mmap sharemem failed....'%s'",strerror(errno));

Linux诞生故事以及不同版本的区别

Linux诞生故事以及不同版本的区别 一、Linux的诞生 Multics计划 上世纪六十年代,人们还在用批处理计算机,也就是一次性给一批任务到计算机,然后等待结果,中途不能和计算机进行交互,而且准备作业需要耗费大量时间。于是1965年,贝尔实验室(Bell),麻省理工学院(MIT)和通用电气(GE)准备联手开发“分时多任务处理系统”,即300台以上终端机可以同时连接一台大型计

调皮的程序员:Linux之父雕刻在Linux内核中的故事

However, since2.1.17alsoLINUX_REBOOT_MAGIC2A(thatis,85072278) and since 2.1.97 also LINUX_REBOOT_MAGIC2B (that is, 369367448) and since 2.5.71alsoLINUX_REBOOT_MAGIC2C (thatis,537993216)are permitted as value for magic2.(The hexadecimal values of these constants are meaningful.) 括号里的一句说这些常量的十六进制是富有含义的,诚然。 换句话来说,要想成功调用reboot API,那么前两个参数必须严格按如下规则填= LINUX_REBOOT_MAGIC2C)) return-EINVAL;

Linux 远程挂载 Ceph RBD 磁盘

[ceph-users] Rbd map command doesn't work [ceph-users] Rbd map command doesn't work Feature Set Mismatch Error on Ceph Kernel Client Linux挂载RBD ceph分布式存储实战(4)——ceph存储配置(映射RBD镜像到客户端)