
操作系统
文章平均质量分 60
xy_cpp
.程序员的三大浪漫:图形学、编译原理、操作系统
展开
-
[读书笔记]《鸟哥的LINUX私房菜》导读
大的分类第一部分 Linux的规则与安装 2~147第二部分 Linux文件、目录与磁盘格式 149~287第三部分 学习shell与shell script 289~415第四部分 Linux使用者管理 417~561第五部分 Linux系统管理员 563~778每章具体内容第0章 计算机概论这一章介绍了现代计算机最基础的定义与软件的定义。计算机的定义为:接受用户输入命令与...原创 2020-04-26 22:12:57 · 573 阅读 · 0 评论 -
Nginx 原理和架构
Nginx 里有一个 master 进程和多个 worker 进程。master 进程并不处理网络请求,主要负责调度工作进程:加载配置、启动工作进程及非停升级。worker 进程负责处理网络请求与响应。master进程主要用来管理worker进程,具体包括如下4个主要功能:接收来自外界的信号。向各worker进程发送信号。监控woker进程的运行状态。当woker进程退出后(异常情况下)...转载 2019-12-26 23:39:17 · 141 阅读 · 0 评论 -
shell实现SSH自动登陆
前言公司开发使用docker,每次登陆自己开发机总要输入 ssh user_name@ip_string,然后再确认输入password,手快了还经常会输错。作为一个懒人,肯定要找一个取巧的方式,查看了下ssh命令,由于它要进行一次跟服务器的加密交互,所以没有直接附带密码登陆的选项,只好作罢。前些天在同事进行技术分享时,看到他竟然只输入了一行命令./test.sh就成功登陆了开发机,甚是惊...转载 2018-05-09 20:44:19 · 5859 阅读 · 0 评论 -
如何提高服务器并发处理能力
说明以下内容为入门级介绍,意在对老技术作较全的总结而不是较深的研究。主要参考《构建高性能Web站点》一书。什么是服务器并发处理能力一台服务器在单位时间里能处理的请求越多,服务器的能力越高,也就是服务器并发处理能力越强有什么方法衡量服务器并发处理能力1. 吞吐率吞吐率,单位时间里服务器处理的最大请求数,单位req/s从服务器角度,实际并发用户数的可以理解为服务器当...转载 2018-05-01 09:02:34 · 795 阅读 · 0 评论 -
C++中的异常安全性
一个函数如果说是“异常安全”的,必须同时满足以下两个条件:1.不泄漏任何资源;2.不允许破坏数据。 我们先通过两个反面的例子开始。 第一个是造成资源泄漏的例子。一个类Type,内含一个互斥锁成员 Mutex mutex,以及一个成员函数void Func()。假设Func函数的实现如下所示:void Type::Func() { Lock(&mutex); ...转载 2018-04-18 16:56:59 · 634 阅读 · 0 评论 -
C++——多线程编程(一)std::thread
转载自:https://blog.youkuaiyun.com/shanshangyouzhiyangM/article/details/52986185简单实验的例子:https://www.cnblogs.com/whlook/p/6573659.html(一)与C++11多线程相关的头文件C++11 新标准中引入了四个头文件来支持多线程编程,他们分别是< atomic> ,< thre...转载 2018-04-15 09:46:50 · 407 阅读 · 0 评论 -
select poll epoll
select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的,而异步I/O则无需自己负责进行读写,异步I/O的实现会负责把数据从内核拷贝到用...转载 2018-04-02 15:37:26 · 234 阅读 · 0 评论 -
进程调度算法的优缺点
1、时间片轮转调度算法(RR):给每个进程固定的执行时间,根据进程到达的先后顺序让进程在单位时间片内执行,执行完成后便调度下一个进程执行,时间片轮转调度不考虑进程等待时间和执行时间,属于抢占式调度。优点是兼顾长短作业;缺点是平均等待时间较长,上下文切换较费时。适用于分时系统。2、先来先服务调度算法(FCFS):根据进程到达的先后顺序执行进程,不考虑等待时间和执行时间,会产生饥饿现象。属于非抢占式调...转载 2018-03-06 15:40:55 · 13140 阅读 · 1 评论 -
【Linux多线程】三个经典同步问题
转自:http://blog.youkuaiyun.com/lisonglisonglisong/article/details/45390227在了解了《同步与互斥的区别》之后,我们来看看几个经典的线程同步的例子。相信通过具体场景可以让我们学会分析和解决这类线程同步的问题,以便以后应用在实际的项目中。一、生产者-消费者问题问题描述:一组生产者进程和一组消费者进程共享一个初始为空、大小...转载 2019-03-04 20:39:44 · 226 阅读 · 0 评论 -
死锁
死锁的定义:一组进程中,每个进程都无限等待该组进程中另一进程所占有的资源,因而永远无法得到资源,这种现象称为进程死锁,这一组进程就称为死锁进程。死锁的四个条件:1、互斥使用(资源独占:打印机,十字路口)一个资源每次只能给一个进程使用2、占有且等待(请求和保持,部分分配:十字路口)进程在申请新的资源的同时保持对原有资源的占有3、不可抢占(不可剥夺:十字路口)资源申请者不能强行的从资源占有者手中夺取资...原创 2018-03-02 16:20:09 · 292 阅读 · 0 评论 -
进程间通信IPC
为什么需要进程间通信机制IPC?1、信号量及管程不能传递大量的信息。2、管程不适合多处理器的情况。适用于:分布式系统、基于共享内存的多处理机系统、单处理机系统。可以解决进程间的同步、互斥问题、通信问题。基本通信方式?消息传递、共享内存、管道、套接字、远程过程调用(这两个适用于网络、分布式系统)共享内存:对共享内存的操作是读者、写者问题。需要解决两个问题:1、物理内存建立一个进程间可以共享的内存空间...原创 2018-02-28 12:55:18 · 236 阅读 · 0 评论 -
进程,线程,多线程
进程,线程,多线程进程与线程:进程:具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位. 【占用资源的最小单元】线程:它是比进程更小的能独立运行的基本单位. 是进程的一个实体,是CPU调度和分派的基本单位。它只拥有运行中必不可少的资源(如程序计数器,一组寄存器和栈),但它可与同属一个进程的其他的线程共享进程所拥有的全部资源. ...转载 2018-02-28 10:56:07 · 366 阅读 · 0 评论