1. 计算机软硬件系统 冯诺伊曼结构 以运算单元为核心,控制流由指令流产生 程序和数据存储在主存中 主存是按地址访问,线性编址 指令由操作码和地址码组成 数据以二进制编码 其他:参考<重学计算机-计算机组成原理> 2. 计算机操作系统的发展 概述:任何一台机器都有其操作平台和操作系统 洗衣机:开关表示.按钮控制.亮灯显示 演进过程 手工操作:手动调动地址和数据按钮录入内存,然后点运行 引进装入程序:用卡片和纸带,通过ROM上的装入程序载入内存 汇编语言:对指令提供了助记符号 高级语言:面向问题…
三种并行的应用程序: 1. 基于进程的并发编程: 2. 基于IO多路复用的并发: 3. 基于线程的并发编程: 12.1 基于进程的并发编程 进程的优劣: (1)进程间共享文件表,但不共享用户地址空间,拥有独立的地址空间,这样一个进程不会不小心将另一个进程的虚拟 存储器给覆盖了. (2)独立的地址空间使得进程间通信很困难,很难共享信息,需要IPC(进程间通信机制),这样开销很大. 进程间通信机制: (1)waitpid函数  (2)unix信号  (3)套接字  (4)管道  (5)FIFO  (…
Linux 也是众多操作系统之一,要想知道 Linux 是什么,首先得说一说什么是操作系统. 计算机是一台机器,它按照用户的要求接收信息.存储数据.处理数据,然后再将处理结果输出(文字.图片.音频.视频等).计算机由硬件和软件组成: 硬件是计算机赖以工作的实体,包括显示器.键盘.鼠标.硬盘.CPU.主板等: 软件会按照用户的要求协调整台计算机的工作,比如 Windows.Linux.Mac OS.Android 等操作系统,以及 Office.QQ.迅雷.微信等应用程序. 操作系统(Operat…
1. 存储管理的基本概念 逻辑地址:用户地址,从零开始编号 一维逻辑地址:(地址) 二维逻辑地址:(段号: 段内地址) 主存储器的复用方式 按分区:主存划分为多个固定/可变分区,一个程序占一个分区 按页架:主存划分为多个固定页架,一个程序占多个页架 存储管理的模式 单连续:一维逻辑地址程序,占一个固定/可变分区 段   式:二维逻辑地址程序,占多个可变分区 页   式:一维逻辑地址程序,占多个页架 段页式:二维逻辑地址程序,占多个页架 地址转换:逻辑地址 --> 物理地址 静态重定位:程序装入内…
计算机操作系统处理机调度读后感: 笔者在看操作系统西安电子科技大学那本书的时候,初次感觉本科教的不会太难,所以没有认真的看,但是随后这本书讲的刷新了我的世界观.这本书居然是ring0级别的,这时不禁吐槽一下..如果没调试过程序,没接触过ring0的同学,这本书就和马原一样.全背完还不知道学了啥. 由于笔者之前做过逆向工程.而调试的大都是ring3级别的,这本书是ring0级别的.我必须要把这些知识和之前学的连接起来,以便以后接触ring0的时候能更轻松一些. 1.创建进程. 在这个模块我会从一个…
第一章 计算机基础 1.1 硬件 计算机基本的硬件由:CPU / 内存 / 主板 / 硬盘 / 网卡 / 显卡 / 显示器 等组成,只有硬件但硬件之间无法进行交流和通信. 1.2 操作系统 操作系统用于协同或控制硬件之间进行工作,常见的操作系统有那些: windows系统,应用最广泛的操作系统. win xp 系统 win 7系统 win 10 系统 linux系统,免费开源,占用内存小,运行速度快 centos .公司线上服务器使用,图形界面较ubuntu差 ubuntu,用于开发.图形界面较…
1.了解计算机与操作系统发展阶段 操作系统并不是与计算机硬件一起诞生的,它是在人们使用计算机的过程中,为了满足两大需求:提高资源利用率.增强计算机系统性能,伴随着计算机技术本身及其应用的日益发展,而逐步地形成和完善起来的.1946年第一台计算机诞生--20世纪50年代中期,还未出现操作系统,计算机工作采用手工操作方式.程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制台开关启动程序针对数据运行:计算完毕,打印机输出计算结果:用户取走…
一.计算机的框架 什么是操作系统?(汽车) 加油系统 油门 用户跟加油子系统交互的窗口.(接口) 方向系统 方向盘 用户跟方向系统的交互接口. 导航系统 ... 汽车的操作系统有很多的子系统来完成.这些子系统互相协调工作,达到用户的目的.操作简练.效率高.安全性比较高.... 接口 多个子系统 每个子系统负责单一的工作. 操作环境 驾驶员位置 是不是驾驶员直接控制汽车的硬件? 通过接口间接控制硬件的. 看不见的 透明 框架 组件 操作系统管理硬件并且为上层的app提供服务. 对app的管理. 二…
poweroff命令用来关闭计算机操作系统并且切断系统电源. 语法 poweroff(选项) 选项 -n:关闭操作系统时不执行sync操作: -w:不真正关闭操作系统,仅在日志文件“/var/log/wtmp”中: -d:关闭操作系统时,不将操作写入日志文件“/var/log/wtmp”中添加相应的记录: -f:强制关闭操作系统: -i:关闭操作系统之前关闭所有的网络接口: -h:关闭操作系统之前将系统中所有的硬件设置为备用模式. 实例 如果确认系统中已经没有用户存在且所有数据都已保存,需要立即…
什么是编程 编程语言:人与计算机交流的手段 编程:通过编程语言编写文件 学习编程的目的:让计算机代替人力,为我们服务 计算机组成原理 计算机由五大部分组成:控制器.运算器.存储器.输入设备.输出设备. CPU(大脑) 运算器:进行逻辑运算和算术运算 控制器:控制硬件 多核CPU:同时处理多个事件 存储器 内存:临时存储数据的硬件(快,存储小,断电即消失) 外存:永久存储数据的硬件(慢,存储大,存储时间长) 输入设备 输入信息 U盘.鼠标等等(类似于身体的眼睛鼻子耳朵) 输出设备 输出信息 音响.…
一.计算机操作系统简介 操作系统的定义: 操作系统是一个用来协调.管理和控制计算机硬件和软件资源的系统程序,它位于硬件和应用程序之间. 操作系统的内核的定义: 操作系统的内核是一个管理和控制程序,负责管理计算机的所有物理资源, 其中包括文件系统.内存管理.设备管理和进程管理. 操作系统.硬件.软件的关系 操作系统=所有驱动+对驱动的管理+为应用软件提供可以使用的接口 内核=所有驱动 驱动组成:字符设备(串口).块设备(u盘).网络设备 内核是整个操作系统的最底层,它负责整个硬件的驱动,以及提供各…
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 难以跨越的瓶颈期,把你拿捏滴死死的! 编程开发学习过程中遇到的瓶颈期,往往是由于看不到前进的方向.这个时候你特别希望能有人告诉你,你还欠缺些什么朝着哪个方向努力.而导致这一问题的主要原因是由于日常的业务开发太过于复制过去,日复一日的重复.没有太多的挑战,也没参与过较大体量的业务场景,除了这些开发场景因素外,还有缺少组内的技术氛围和技术分享,没有人做传播和布道者,也缺少自己对各项技术…
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言…
1.什么是C语言 C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点.计算机语言是从第二次世界大战以后,经历了戏剧性的发展过程.从机器语言到汇编语言和高级语言.C语言是与硬件无关的,并且有许多独特的优点. 2.为什么使用C语言 C语言是一种融合了控制特性的现代语言,在现在的计算机科学的理论和实践中,控制特性是很重要的.其设计使得用户可以自然地采用自定向下的规划.结构化的编程.,以及模块化得设计,这样的编程可以使得编写出来的程序更可靠,更易懂.因为C语言具有设计特性.高效…
写下这个标题觉得可笑,其实本人2014年就自学过一次python,当时看的是中谷教育的milo老师的视频,也跟着写了一些代码,只是因为当时工作上用不到也就淡忘了.不过说实话当时的水平也很低下,本来也没学到个什么.当时看过的书有<和孩子一起学编程><可爱的python>等 现在由于要学机器学习,重拾python,时过境迁,当时python还是很小众的一门语言,网上的资料也较少,那时候还为到底学2.x还是3.x纠结了半天,在当时的环境下虽然3.x刚出来没多久,但似乎业界用2.x还是主流…
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获!…
java集合类简介(重学) 一.Collection(集合).Map接口两者应该是平行关系吧. 1.Map介绍 Map是以键值(key-value)对来存放的,2个值.通过key来找到value(例:姓名-电话,通过姓名得到电话),通过Map创建的对象key都 不可以重复. 它的两个常用子类:HashMap类和HashTable类. HashMap类:无序存放的,key不允许重复 HashTable类:无序存放,key不允许重复 key值可通过Map的方法keyset获取全部的key值,返回是个…
一.文件操作系统概述 1.概述: php中的文件操作系统主要是对文件和目录的操作.文件在windows系统下分为3种不同:文件.目录.未知,在linux/unix系统下分为7种不同:block.char.dir.fifo.file.link和unknown七种类型.目录在windows系统:D:/a/b/c.php 或 D:\a\b\c.php,在linux/unix系统: /a/b/c.php,为统一建议使用"/"作为目录之间的分割符. 2.目录或文件属性获取函数 *(1)取得文件类…
首先通过一段代码进入讨论的主题 var r = new Promise(function(resolve, reject){ console.log("a"); resolve() }); setTimeout(()=>console.log("d"), 0) r.then(() => console.log("c")); console.log("b") // a b c d 了解过 Promise 对象的都知道…
参考链接https://www.linuxprobe.com/ iptables -F #ftp 21端口 #主动模式,被动模式 #匿名用户 本地用户 虚拟用户 vim /etc/vsftpd/vsftpd.conf /etc/服务名称/服务名称.conf cd /etc/vsftpd mv vsftpd.conf vsftpd.conf_bak grep -v "#" vsftpd.conf_bak > vsftpd.conf ps: umask= 文件默认666 实际644…
说起来非常惭愧,我在 2008 年的时候就接触了 Java,但一直到现在(2018 年 10 月 10 日),基础知识依然非常薄弱.用一句话自嘲就是:十年 IT 老兵,Java 菜鸡一枚. 于是,我想,不如静下心来,重新读一遍那些经典的 Java 技术书,并且没读完一章就输出一篇原创技术文章.从哪一本开始呢?想了一想,还是从<Java 编程思想>开始吧!毕竟这本书赢得了全球程序员的广泛赞誉,从 Java 的基础语法到最高级特性,都能指导我们 Java 程序员轻松掌握. 记得刚上大学那会,就买了…
注意: 本文章为 <重学js之JavaScript高级程序设计>系列第五章[JavaScript引用类型]. 关于<重学js之JavaScript高级程序设计>是重新回顾js基础的学习. 1. 什么是面向对象 面向对象的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象.但是,再前面提到过.ES中没有类的概念,因此它的对象也与基于类的语言中的对象有所不同. 对象的定义:'无序属性的集合,其属性可以包含基本值.对象或者函数.' 严格来讲,这就相当…
先放上链接吧,项目已经开始2周了:https://github.com/hellozhangran/happy-egg-server 想法 现在是2019年11月24日,还有人要开始学习Node.js吗? Node.js大概从2014年开始火热,现在搜一下学习教程,很多开源教程都是3~5年前写下的.再详细搜一下express.mongodb相关文章,时间点大部分也是2017,大量的Node.js开源项目也已经停更了.当年大家都在讨论Node.js为何这么火,而此刻我发现大家开始讨论为何Node.…
毕业已有半年, 现在想想真的后悔, 大学没有认真学Linux, 导致现在Linux操作抓瞎, 连服务器都搭不起来. 下定决心重学Linux, 不追求能比上大佬, 但是要熟练, 常用命令要熟悉. 作为一项辅助技能,够用就好.…
COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION In this section, we look at some of the general characteristics of and the motivation for a reduced instruction set architecture. Specific examples will be seen later in t…
尚学linux课程---5.linux操作系统介绍 一.总结 一句话总结: centos开源免费,用的特别多 1.库是什么意思? 没有执行入口的应用程序 2.linux和window下的动态库文件是什么? linux:.so:Shared Object windows:.dll 3.linux中查看当前系统环境变量? printenv:比如可以查看使用的语言,键盘,以及各种环境变量,比如HOME=/root 4.linux中如何修改配置(系统环境变量)? vim ~/.bashrc 进去之后,加…
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 5个创建型模式的最后一个 在设计模式中按照不同的处理方式共包含三大类:创建型模式.结构型模式和行为模式,其中创建型模式目前已经介绍了其中的四个:工厂方法模式.抽象工厂模式.生成器模式和原型模式,除此之外还有最后一个单例模式. 掌握了的知识才是自己的 在本次编写的重学 Java 设计模式的编写中尽可能多的用各种场景案例还介绍设计的使用,包括我们已经使用过的场景:各种类型奖品发放.多套…
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 擦屁屁纸80%的面积都是保护手的! 工作到3年左右很大一部分程序员都想提升自己的技术栈,开始尝试去阅读一些源码,例如Spring.Mybaits.Dubbo等,但读着读着发现越来越难懂,一会从这过来一会跑到那去.甚至怀疑自己技术太差,慢慢也就不愿意再触碰这部分知识. 而这主要的原因是一个框架随着时间的发展,它的复杂程度是越来越高的,从最开始只有一个非常核心的点到最后开枝散叶.这就像…
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 对于代码你有编程感觉吗 很多人写代码往往是没有编程感觉的,也就是除了可以把功能按照固定的流程编写出流水式的代码外,很难去思考整套功能服务的扩展性和可维护性.尤其是在一些较大型的功能搭建上,比较缺失一些驾驭能力,从而导致最终的代码相对来说不能做到尽善尽美. 江洋大盗与江洋大偷 两个本想描述一样的意思的词,只因一字只差就让人觉得一个是好牛,一个好搞笑.往往我们去开发编程写代码时也经常将…
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 你感受到的容易,一定有人为你承担不容易 这句话更像是描述生活的,许许多多的磕磕绊绊总有人为你提供躲雨的屋檐和避风的港湾.其实编程开发的团队中也一样有人只负责CRUD中的简单调用,去使用团队中高级程序员开发出来的核心服务和接口.这样的编程开发对于初期刚进入程序员行业的小伙伴来说锻炼锻炼还是不错的,但随着开发的日子越来越久一直做这样的事情就很难得到成长,也想努力的去做一些更有难度的承担…