
操作系统
阿清~
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
操作系统学习实战篇——实现支持异步任务的线程池
Python同步原语互斥锁在每一次对临界资源进行读或写操作时,先加锁,操作完成之后再解锁。Python互斥锁的使用:lock = threading.Lock() # 申请锁lock.acquire() # 加锁lock.release() # 解锁条件变量判断条件是否满足,一个线程在条件满足的时候执行;当条件不满足时睡眠,等待另一个线程满足条件将睡眠线程唤醒,使其继续执行下去。Python条件变量的使用:condition=threading.Condition() .原创 2020-07-27 19:56:02 · 175 阅读 · 0 评论 -
操作系统学习提升篇——进程同步
进程的线程共享进程资源,进程共享计算机资源,因此进程和线程一样都需要信息同步。共享内存Unix域套接字原创 2020-07-18 16:54:39 · 120 阅读 · 0 评论 -
操作系统学习提升篇——使用fork系统调用创建进程
fork系统调用是用于创建进程的。fork创建的进程初始化状态与父进程一样。系统会为fork的进程分配新的资源。fork系统调用无参数。fork会返回两次,分别返回子进程id和0。返回子进程id的是父进程,返回0的是子进程。#include <iostream>#include <cstring>#include <stdio.h>#include <inistd.h>using namespace std;int main(){ p原创 2020-07-16 20:34:00 · 426 阅读 · 0 评论 -
操作系统学习提升篇——线程同步
互斥量(互斥锁)互斥量的工作原理:当一个线程访问临界资源时,对临界资源加锁,阻止另一个线程访问临界资源,使用完之后再进行解锁。当两个线程的指令交叉执行,会导致线程同步的问题。互斥量可以保证先后执行,先执行完一个线程的相关指令,再执行另一个的相关指令。(原子性)原子性:一系列操作不可被中断,要么全部执行完成,要么全部没有执行。互斥量是最简单的线程同步的方法。互斥量,处于两态之一的变量:解锁和加锁。两个状态可以保证资源访问的串行。操作系统直接提供了互斥量的API,开发者可以直接使用API完成资源的加原创 2020-07-16 20:04:38 · 140 阅读 · 0 评论 -
操作系统学习基础篇——作业管理
进程管理进程调度概述进程调度:指的是计算机通过决策决定哪个就绪程序可以获得CPU的使用权。进程调度的步骤:保存旧进程的运行信息,请出旧进程(收拾包袱);选择新进程,准备运行环境并分配CPU(新进驻)。就绪队列的排队机制:将就绪进程按照一定的方式排成队列,以便调度程序可以最快找到就绪进程选择运行进程的委派机制:调度程序以一定的策略选择就绪进程,将CPU资源分配给它新老进程的上下文切换机制:保存当前进程的上下文信息,装入被委派执行进程的运行上下文进程调度算法先来先服务调度算法短进程优先调原创 2020-07-16 15:29:33 · 487 阅读 · 0 评论 -
操作系统学习基础篇——进程管理
进程管理一、进程实体为什么需要进程进程的实体二、五状态模型三、进程同步为什么需要进程间同步进程间同步的原则线程同步的方法四、Linux进程管理Linux进程的相关概念操作Linux进程的相关命令一、进程实体为什么需要进程进程是系统进行资源分配和调度的基本单位进程作为程序独立运行的载体保障程序正常运行进程的存在使得操作系统资源的利用率大幅提升进程的实体主存中的进程形态:进程控制块标识符:唯一标记一个进程,用于区别其他进程状态:标记进程的进程状态,如:运行态程序计数器:指向进程即将被执原创 2020-07-15 21:22:54 · 138 阅读 · 0 评论 -
操作系统学习基础篇——概要
操作系统的演进无操作系统批处理系统分时系统:人机交互;多用户共享;及时调试;资源利用率提升多道程序设计(批处理系统)概念:在计算机内存中同时存放多个程序,多道程序在哪计算机的管理程序下互相穿插运行。早期批处理系统只能一次处理一个任务;多道程序设计使得批处理系统可以一次处理多个任务操作系统的功能操作系统对程序的管理功能分为五大类:进程管理,作业管理,存储管理,文件管理,设备管理进程管理:进程实体;五状态模型;进程同步;Linux进程管理作业管理:进程调度;死锁存储管理:内存分配与回收原创 2020-07-15 14:50:07 · 242 阅读 · 0 评论