操作系统学习笔记:第一章习题及解答
习题
什么是 multiprogramming?
在第二代操作系统(如 7094 机)上,若当前作业因等待磁带或其他 I/O 操作而暂停时,CPU 就只能简单地原地踏步直至该 I/O 完成。在很多情况下,I/O 操作等待的时间通常占到 80% ~ 90%, 所以要通过 multiprogramming 的方式来减少 CPU 资源的浪费。
具体方案就是将内存分成多个部分,每个部分存放不同的作业(如下图所示),当一个作业等待 I/O 操作完成时,另一个作业可以使用 CPU。如果内存中可以同时存放足够多的作业,则 CPU 利用率可以接近 100%。(注意:在内存中同时驻留多个作业需要特殊的硬件来对其进行保护,以避免作业对信息被窃取或受到攻击。)
Arrays in bash
Shell script 中的 array 一直是一个比较模糊的概念,在网上找到的相关文章也讲得不太详细。本文参考了多篇文章,以尽量详尽地讲解一下 bash 中的 array。
遥控履带车:42065
操作系统学习笔记:基本概念
mysql 日志配置
概览
本文主要讲解 mysql 的日志配置,以及介绍 mysql5.7 对于慢查询配置项的更新
日志分类
我们将开启以下三种日志:
- 错误日志:包含 mysql 启动时 / 运行时 / 停止时发生的错误
- 普通日志:包含 mysql 客户端连接 / 断开连接 / 执行查询操作的信息
- 慢查询日志:包含造成慢查询的 SQL 语句
我们不会开启 Binary Log, 因为它对服务器的硬件有很高要求,很影响数据库的性能,而且只在某些特点情况下有用(如:建立复制集,建立主 - 从模式,执行一些特殊的数据恢复操作等)。
终极挖山机:42055
CSRF 以及 Django 对于 CSRF 的防范
Cross-site Request Forgery 简称 CSRF 或 one-click attack, 是指未经授权 (authorization) 的指令从用户的浏览器发送到了服务器。不同于 XSS(Cross-Site Scripting) 的是,CSRF 不需要向被服务器信任的页面注入代码。它利用互联网的开放性,从未被信任的页面向服务器发送请求。
Cryptography study notes (2): Some ancient encryption algorithms
Substitution cipher
- A key for a substitution cipher is a subsitution that basiclly says how to map our letters.
Caesar cipher
- Actually is not really a cipher at all. And the reason is that it doesn’t have a key.
- Basiclly is a substitution cipher where the substitution is fixed. Namely, it’s a shift by three.