操作系统
文章平均质量分 80
openex
一位会烧菜梦想做神经学家的程序员
展开
-
现代操作系统学习笔记-调度
一.批处理系统中的调度1.先来先服务 先到来的服务,系统先对其进行服务 FIFO2.短作业优先 评估当前作业中,运行时间最短的作业优先服务能够提前掌握作业的运行时间只有所有作业是同时运行时调度才是最优的3.最短剩余时间优先 当一个作业到达时,评估当前系统中作业的剩余时间和该作业所需时间,选择剩余时间最小的进行调度能够提前掌握作业的运行时间原创 2016-11-17 23:36:31 · 763 阅读 · 0 评论 -
现代操作系统学习笔记-经典IPC问题
0.哲学家就餐问题解法之一:有一个二元信号量用以避免操作的竞态条件每个人有一个信号量用以标记所需叉子每个人有状态 Thinking,Eating,Hungry一个人可以吃,需邻居都不为Eating#define N 5#define LEFT (i+N-1)%N#define RIGHT (i+1)%N#define Thinking 0#define Eati原创 2016-11-18 22:25:06 · 1665 阅读 · 0 评论 -
现代操作系统学习笔记-存储管理
0.无存储器抽象通常程序引用绝对物理地址在嵌入式系统和智能卡系统中,比较常见一.地址空间 地址空间是一个进程可用于寻址内存的一套地址集合1.通常为每个CPU配置两个寄存器:基址寄存器与界限寄存器基址寄存器:存储程序的起始物理地址界限寄存器:存储程序的长度2.当取址时自动将基址值加到进程发出的地址值上,检查该地址是否超过界限寄存器计算后的值原创 2016-12-06 14:07:06 · 1213 阅读 · 0 评论 -
Geoip MaxMind DB 生成指南
目前MaxMind对MMDB的读写支持如下 Writer: perl Reader: C C# Java Perl PHP Python所以本文着重介绍如何快速使用perl生成mmdb文件,以及查询mmdb基本原理工作环境:Centos 6.5一、安装perl环境 忽略解压、cd等基础操作1 .下载perl原创 2016-12-08 16:03:58 · 7306 阅读 · 1 评论 -
linux系统调用笔记
本笔记仅供个人学习所用,部分内容转自互联网,如有侵犯原创权益请及时联系本人1.sendfile(int out_fd, int in_fd, off_t *offset, size_t count) 解决在同一系统,两个文件描述符之间传递数据性能问题,去掉不比较的复制和上下文切换,完全在内核空间完成传递。in_fd需要为类似mmap的文件描述符(必须是真实的文件不能是管道或者socket)o原创 2017-03-12 23:46:59 · 246 阅读 · 0 评论 -
2017 6.824学习笔记 Lecture 1: Introduction
什么是分布式系统?多个计算机进行协作大规模数据库,P2P文件共享,MR,DNS等等许多重要的基础设施是分布式的为什么要使用分布式?连接物理隔离的实体通过隔离取得安全性通过副本机制容忍故障可水平扩展资源提高生产力实现中的困难?许多并发问题处理局部故障难以实现理论性能主题关于分布式程序背后的三大抽象方面:存储通信计算话题:实现RPC ,threads,concurren原创 2017-11-12 17:02:41 · 454 阅读 · 0 评论 -
2017 6.824学习笔记 Lecture 2: RPC and threads
线程线程是非常有用的构建工具再Go中线程称为goroutines,其他语言中叫做线程他们通常比较棘手为什么使用线程?允许利用并发,这在分布式系统中很自然的体现出来再I/O并发中,允许在等待一个IO响应时,处理下一个请求多线程可以平行运行在多核上Thread = “thread of execution”线程允许一个程序在逻辑上一次执行许多事情线程间有共享内存每个线程包含自己的运原创 2017-11-19 17:23:27 · 482 阅读 · 0 评论