-
操作系统学习(5)信号量与管程
信号量:整型、记录型信号量以及利用信号量实现进程互斥和前驱关系
信号量机构是一种功能较强的机制,可用来解决互斥与同步的问题,它只能被两个标准的原语wait(S)和signal(S)来访问,也可以记为“P操作”和“V操作”。
原语是指完成某种功能且不被分割不被中断执行的操作序列,通常可由硬件来实现完成不被分割执行特性的功能。
如前述的“Test-and-Set”和“Swap”指令,就是由...
2020-10-04 03:18:54 |
OS
-
操作系统学习(4)进程同步的基本概念:临界资源、同步和互斥
进程同步的基本概念:临界资源、同步和互斥
在多道程序环境下,进程是并发执行的,不同进程之间存在着不同的相互制约关系。
为了协调进程之间的相互制约关系,引入了进程同步的概念。
临界资源
虽然多个进程可以共享系统中的各种资源,但其中许多资源一次只能为一个进程所使用,我们把一次仅允许一个进程使用的资源称为临界资源。
许多物理设备都属于临界资源,如打印机等。此外,还有许多变量、数据等都可以...
2020-10-04 03:18:54 |
OS
-
操作系统学习(3)处理机调度:调度的概念、时机、切换、过程以及调度方式和基本准则
调度的概念
1. 调度的基本概念
在多道程序系统中,进程的数量往往多于处理机的个数,进程争用处理机的情况就在所难免。
处理机调度是对处理机进行分配,就是从就绪队列中,按照一定的算法(公平、髙效)选择一个进程并将处理机分配给它运行,以实现进程并发地执行。
处理机调度是多道程序操作系统的基础,它是操作系统设计的核心问题。
2. 调度的层次
一个作业从提交开始直到完成,往往要经历以下三...
2020-10-04 03:18:54 |
OS
-
操作系统学习(2)线程详解
线程的概念和多线程模型
基本概念
引入进程的目的,是为了使多道程序并发执行,以提高资源利用率和系统吞吐量;
而引入线程,则是为了减小程序在并发执行时所付出的时空开销,提高操作系统的并发性能。
线程最直接的理解就是“轻量级进程”,它是一个基本的CPU执行单元,也是程序执行流的最小单元,由线程ID、程序计数器、寄存器集合和堆栈组成。
线程是进程中的一个实体,是被系统独立调度和分派的基本...
2020-10-04 03:18:54 |
OS
-
操作系统学习(2)进程详解
进程与线程
我们在学习 Java 的时候,听过太多的多线程,然后大部分开发(比如我自己)可能没有弄清楚进程和线程的根本区别。
本系列就来学习下进程和线程。
进程的概念
在多道程序环境下,允许多个程序并发执行,此时它们将失去封闭性,并具有间断性及不可再现性的特征。
为此引入了进程(Process)的概念,以便更好地描述和控制程序的并发执行,实现操作系统的并发性和共享性。
PCB
...
2020-10-04 03:18:54 |
OS
-
操作系统学习(1)概览
序言
为什么学习操作系统?
希望可以系统的学习一遍相关知识,从操作系统层面理解 java 等技术的相关特性。
希望自己可以实现一个简易版本的操作系统。
核心技术
高并发:进程+线程+死锁+通信+互斥
任务-调度
缓存-淘汰策略
磁盘分配-分页+分段+first fit
文件-索引 + 权限控制
操作系统的基本概念
在信息化时代,软件被称为计算机系统的灵魂。
而作为软件...
2020-10-04 03:18:54 |
OS
-
Database design tool 数据库管理工具 PDMAN
软件介绍
PDMan是一款开源免费的数据库模型建模工具,支持Windows,Mac,Linux等操作系统,支持常见数据库MySQL,Oracle,SQLServer,DB2等。
PowerDesigner之外,另一个更好的免费的替代方案。他具有颜值高,使用简单的特点。
包含数据库建模,灵活自动的自动生成代码模板,自动生成文档,自动同步DDL脚本到数据库,数据模型版本管理等多种开发人员实...
2020-08-28 02:37:20 |
Tool
-
web 实战-21-文件上传的 3 种方式:伪刷新、文件流、Base64
伪刷新上传
伪刷新,在iframe标签进行上传提交操作,因为iframe已经隐藏了,它刷新了用户也看不到
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title&...
2020-08-28 02:37:20 |
web