-
操作系统学习(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
-
如何从零开始设计权限管理系统
背景说明
近期写代码又开始重新接触了一点控台应用,接触到的项目年代久远,所有的权限管理用起来感觉不是很得心应手。
于是想着自己能否从零设计一个,梳理一下思路,当然实际用不用也无所谓。
权限管理主要是为了安全,项目中的权限管理是全部放在前端控制的,感觉这一点非常不安全。
前端防君子,不防小人。
当然本次造轮子主要也是为了打造一款自己满意的权限控制框架,所以设计采用 MVP 模式,采用...
2020-09-17 13:38:08 |
Design
-
Database design tool 数据库管理工具 PDMAN
软件介绍
PDMan是一款开源免费的数据库模型建模工具,支持Windows,Mac,Linux等操作系统,支持常见数据库MySQL,Oracle,SQLServer,DB2等。
PowerDesigner之外,另一个更好的免费的替代方案。他具有颜值高,使用简单的特点。
包含数据库建模,灵活自动的自动生成代码模板,自动生成文档,自动同步DDL脚本到数据库,数据模型版本管理等多种开发人员实...
2020-08-28 02:37:20 |
Tool
-
web 实战-19-http 请求的正确姿势
序言
最近再写 http 请求相关的东西,为了方便就直接通过 java HttpClient 调用另外一个系统。
结果调试了一晚上才通过,血的教训,这里记录一下。
服务端
import com.alibaba.fastjson.JSON;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
imp...
2020-08-28 02:37:20 |
web
-
web 实战-18-验证码 CAPTCHA
九章到来的今天
最近看到国内的量子计算机“九章”的消息,内心不由得感慨万千。
以前看似不可能解决的问题,在恐怖的算力之下,都逐渐变成了可解的问题。
其实计算机算力的提升,带来的确认对于安全问题的忧虑。
今天我们来一起看一下最常见的安全措施——验证码。
试想一下,如果完全没有验证码等限制,计算机完全可以穷举破解出用户的密码。
如果没有验证码的限制,恶意用户注册,可以让我们一天发送几...
2020-08-28 02:37:20 |
web