计算机四大件笔记

这篇具有很好参考价值的文章主要介绍了计算机四大件笔记。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

啊~数据库、操作系统、计算机网络、Linux

start

Linux

netstat grep top chmod find

chmod

作用:修改文件的权限(三级权限:档案拥有者、群组、其他)

chmod [-cfvR] [--help] [--version] mode file

字符方式

mode:权限设定字串

[ugoa...][[+-=][rwxX]...][,...]

u 表示该档案的拥有者   g 表示与该档案的拥有者属于同一个群体 o 表示其他以外的人 a 表示这三者皆是

+ 增加权限 - 取消权限 = 唯一设定权限

r 可读取 w 可写入 x 可执行 X 只有当该档案是个子目录或者该档案已经被设定过为可执行

-c 若该档案权限确实已经更改,才显示其更改动作

-f 若该档案权限无法被更改也不要显示错误信息

-v 显示权限变更的详细资料

-R 对目前目录下的所有档案与子目录进行相同的权限变更

--help 显示辅助说明

--version 显示版本

例子

chmod ugo+r file.txt  chmod a+r file.txt   //所有人皆可读取
//将f1.txt与f2.txt设置为该档案拥有者、与其所属同一个群体者可写入,但其他以外的人则不可写入
chmod ug+w,o-w f1.txt f2.txt
//将e.py设置为该档案拥有者可以执行
chmod u+x e.py
//将目前目录下的所有档案与子目录都设为任何人可读取
chmod -R a+r *

数字方式

chmod nnn file.txt

nnn:用户 组成员 其他

4 r 2 w 1 x

例子

//所有人皆可读写执行
chmod a=rwx file.txt
a:三个位置都写满了
=:唯一设定权限
rwx:4+2+1=7
chmod 777 file.txt

//档案拥有者和群组可读写执行,其他人只能执行
chmod ug=rwx,o=x file.txt
ug=rwx:77
o=x:1
chmod 771 file.txt

chmod 4755 file.txt //root权限

grep

作用:查找文件

grep -l 'boss' * //显示所有包含boss的文件名
grep -n 'boss' file //在匹配行之前加行号
grep -i 'boss' file //显示匹配行,boss不区分大小写
grep -v 'boss' file //显示所有不匹配行
grep -q 'boss' file //找到匹配行,但不显示,但可以检查grep的退出状态(0为匹配成功)
grep -c 'boss' file //只显示匹配行数(包括0)
grep "$boss" file //扩展变量boss的值再执行命令
ps -ef|grep "^*user1" //搜索user1的命令,即使它前面有0个或多个空格
ps -e|grep -E 'grant_server|commsvr|tcpsvr|dainfo' //查找多个字符串的匹配
例子
//找出文件夹下包含“aaa”,同时不包含“bbb”的文件,然后重新生成
grep -rl "aaa" * | grep -v "bbb"  //管道符|  //左边的输出会作为右边的输入
                     
generate 文件名
generate ·grep -rl "aaa" * | grep -v "bbb"·

//查找包含“logField”和“open”的文件
grep -rl "logField" * | grep -rl "open"

操作系统

并发和并行

并发是同一时间段内发生了多个事情,多任务之间互相抢占资源。

并行是在同一时间点内发生了多个事情,多任务之间不互相抢占资源,只有多CPU的情况下才能并行。

例如:我今天同时学习了数据库、操作系统、计算机网络和Linux这四门课程,学四门课程的任务是并发执行的。我和我的小伙伴两个人(相当于多CPU),今天同时学习了四大件,但是某一时刻我俩同时学习了操作系统这门课程,这一时刻下的学习叫并行。

数据库

MySQL锁

用于解决多个事务在并发情况下的脏读、不可重复读、幻读、丢失更新

查了一下王珊老师的《数据库系统概论》第5版,310页。

脏读:事务T1修改某一数据并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被撤销,这时被T1修改过的数据恢复原值,T2读到的数据就与数据库中的数据不一致,则T2读到的数据就为“脏”数据,即不正确的数据。

丢失更新:两个事务T1和T2读入同一数据并修改,T2提交的结果破坏了T1提交的结果,导致T1的修改被丢失。

不可重复读:事务T1读取数据后,事务T2执行更新操作,使T1无法再现前一次读取结果。

幻读:不可重复读的另外两种现象。1)事务T1按一定条件从数据库中读取了某些数据记录后,事务T2删除了其中部分记录,当T1再次按相同条件读取数据时,发现某些记录神秘地消失了。2)事务按一定条件从数据库中读取某些数据记录后,事务T2插入了一些记录,当T1再次按相同条件读取数据时,发现多了一些记录。

锁的种类

全局锁:对整个数据库加锁。(全库逻辑备份)(数据增删改查× 建表、修改表结构× 更新类事务的提交×)

Flush tables with read lock(FTWRL)

表级锁

(1)表锁:(每次操作锁住整张表 开销小,加锁快 并发度低)

lock tables ...read/write

元数据锁(MDL)访问表时自动被加上,保持读写的正确性。事务提交后释放,可能会产生死锁问题。

(2)行锁:针对数据表中行记录的锁(每次操作锁住一行数据 开销大,加锁慢 锁冲突低,并发度高)

加锁规则:2原则、2优化、1bug

2原则:1)加锁基本单位next-key lock,前开后闭

             2)查找过程中访问到的对象才会加锁

2优化:1)索引上的等值查询,给唯一索引加锁时,next-key lock退化为行锁

             2)索引上的等值查询,向右遍历时且最后一个值不满足等值条件时,next-key lock退化为间隙锁

1bug:唯一的索引上的范围查询会访问到不满足条件的第一个值为止

锁的划分

1、从数据库角度

共享锁(读锁 S锁)

可被其他用户读取,但不能修改

select user_id from product_comment where user_id = 10 lock in share mode;

排它锁(写锁 X锁)

只允许进行锁定操作的事务使用,其他事务无法查询和修改

对数据库进行更新时(insert、update、delete),自动使用排它锁

select user_id from product_comment where user_id = 10 for update;

all

还可以锁住一张表

lock table product_comment read; //添加共享锁
unlock table; //解锁
lock table product_comment write; //添加排它锁
unlock table; //解锁

意向锁:给更大一级别的空间示意里面是否已经上过锁。

2、程序员角度

乐观锁:对同一数据的并发操作不会总发生,不用每次都上锁。(不采用数据库的锁机制,通过程序上,版本号或时间戳实现)(适合读操作多的场景,优点:程序实现不存在死锁问题)

悲观锁:对数据被其他事务修改保持保守态度。(通过数据库自身锁机制实现 )(适合写操作多的场景,缺点:加锁时间长,并发性不好)

InnoDB使用表锁还是行锁?

绝大多数情况下使用行锁。使用表锁:1)表大,事务需要更新全部或大部分数据2)事务涉及多个表,比较复杂,可能引起死锁,造成大量的事务回滚。

InnoDB事务遵从两级锁协议,需要添加行锁,事务结束时释放。

封锁协议:

一级封锁协议(丢失更新):事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放

二级封锁协议(丢失更新、脏读):在一级封锁协议基础上增加事务T在读取数据R之前必须对其加S锁,读完之后即可释放S锁

三级封锁协议(丢失更新、脏读、不可重复读):在一级封锁协议基础上增加事务T在读取数据R之前必须先对其加S锁,直到事务结束才释放文章来源地址https://www.toymoban.com/news/detail-454586.html

到了这里,关于计算机四大件笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【软考数据库】第一章 计算机系统基础知识

    目录 目录 1.1 计算机系统 1.1.1 计算机硬件组成 1.1.2 中央处理单元 1.1.3 数据表示 1.1.4 校验码 1.2 计算机体系结构 1.2.1 体系结构分类 1.2.2 指令系统存 1.2.3 储系系统 1.2.4 输入/输出技术 1.2.5 总线结构 1.3 可靠性、性能、安全 1.3.1 计算机可靠性 1.3.2 计算机系统的性能评价 1.

    2023年04月13日
    浏览(105)
  • 11K+ Star!图解计算机网络、操作系统、计算机组成、数据库!

    大家好,我是 Java陈序员 。 俗话说得好, 面试造火箭,入职拧螺丝 。我们在工作中,其实很少用到一些计算机底层知识,往往只要编码完事。但是, 知其然还要知其所以然 ,我们不仅要做一个合格的“CV 工程师”,更是要掌握一些底层原理! 计算机基础知识,作为计算机

    2024年02月05日
    浏览(95)
  • 三、计算机理论-关系数据库-结构化查询语言SQL

    SQL 概述 是一种介于关系代数与关系演算之间的语言,现成为关系数据库的标准语言 特点:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供两种使用方式(直接使用或者嵌入高级语言使用)、语言简洁,易学易用。 四大功能如下: SQL功能 动词 数据查

    2024年01月24日
    浏览(55)
  • 计算机复试面试基础知识(八股文)(数据库、数据结构、操作系统、计网、机组等)

    数据库绪论 1、简述三层模式、两级映射,分别有什么作用? 模式(逻辑模式):是数据库中全体数据的逻辑结构和特征的描述,是数据库系统模式结构的中间层,即不涉及数据的物理存储细节,也与具体应用程序开发工具语言无关。 外模式(用户模式):是用户能看见和使

    2023年04月09日
    浏览(110)
  • 系统架构设计师---计算机基础知识之数据库系统结构与规范化

    目录 一、基本概念  二、 数据库的结构  三、常用的数据模型         概念数据模型        基本数据模型        面向对象模型 四、数据的规范化      函数依赖       范式   1. 数据库 (DataBase, DB) : 是指长期储存在计算机内的、有组织的、可共享的数据集合。   

    2024年02月12日
    浏览(50)
  • java碳排放数据信息管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

    一、源码特点     java Web碳排放数据信息管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环 境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。 java Web碳排放数据信

    2024年01月22日
    浏览(50)
  • 算法、数据结构、计算机系统、数据库MYSQL、概率论、数学实验MATLAB、数学建模、马原、英语、杂项、QT项目

    可以三个条件 以此类推 (condition1)?x:(condition2)?y:z string变成int int 变成string 可以用循环 模运算展开式推导 我们要证明等式: (a * b) mod m = ((a mod m) * (b mod m)) mod m 假设 a = q1 * m + r1 ,其中 q1 是 a 除以 m 的商, r1 是 a 除以 m 的余数。类似地,假设 b = q2 * m + r2 ,其中

    2024年02月08日
    浏览(61)
  • PHP 房产网站系统Dreamweaver开发mysql数据库web结构php编程计算机网页项目

    一、源码特点     PHP 房产网站系统是一套完善的WEB设计系统,对理解php编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 源码 https://download.csdn.net/download/qq_41221322/88233553 论文 https://download.csdn.net/download/qq_41221322/88233555 PHP 房产网站系统Drea

    2024年02月12日
    浏览(53)
  • [附源码]Sprintboot计算机毕业设计宠物领养与物品捐赠小程序【源码+数据库+LW+部署】

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM + mybatis + Maven + Vue 等等组成,B/S模式 + Maven管理等等。 环境需要 1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以

    2024年02月07日
    浏览(47)
  • jsp 图书销售系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

    一、源码特点      JSP 图书销售系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。 jsp 图书销售系统Myeclipse开发mys

    2024年02月11日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包