近期安排:
并发编程
操作系统理论
进程
线程
协程
IO多路复用
今天内容:
计算机的硬件组成
主板 固化(寄存器,是直接和cpu进行交互的一个硬件)
CPU 中央处理器:计算(数字计算和逻辑计算)和控制(控制所有硬件协调工作)
存储 硬盘,内存
输入设备 键盘,鼠标,话筒
输出设备 显示器,音箱,打印机
早期的计算机是以计算为核心的
现在的计算机是以存储为核心的
第一代计算机:电子管计算机,及其耗电,体积庞大,散热量特别高
第二代计算机:晶体管计算机,
第三代计算机:白色大头计算机,集成电路计算机,一个板子固化几十到上百个小硬件
第四代计算机:大型集成电路计算机,一个板子可以达到固化十万个硬件
第五代计算机:甚大型集成电路计算机
计算机的操作系统
操作系统是一个软件,是一个能直接操纵硬件的一个软件。
微软研发的windows操作系统。
计算机刚开始使用的时候,还没有操作系统
人工时代:穿孔卡带
每个人都能自己在一段时间内独享计算机所有资源
脱机时代: 完全将人和机器隔离开来
单道批处理系统:内存中只允许存放一道作业
多道批处理系统:内存中允许存放多道作业
分时系统: 将cpu的执行划分时间片,每个程序以时间片为单位去执行
实时系统: 一般比较少见,主要用于军事和工业生产上。
无论什么时候,操作系统的目标总是:让用户用起来更加的轻松。高可用,低耦合
语言的发展史:
计算机识别的是二进制,机器语言,由1 和 0组成代码
汇编语言, add n,m move n,m
高级语言:面向过程语言(C),面向对象语言(C++,JAVA,python,.net,php)
OS:
dos系统 纯编程系统 单用户单?
windows系统
unix系统
操作系统的作用:
1,封装所有硬件接口,让各种用户使用电脑更加轻松
2,是对计算机内所有资源进行合理的调度和分配
问题
用户写一个程序,如何让cpu帮你执行,中间经过了哪些步骤?
3 进程的理论
.sh shell脚本文件
.out linux系统中的可执行文件
.bat 批处理脚本文件
.lib 库文件
.dll 库
.exe 可执行文件 双击能运行的文件
进程:
是指正在执行的程序。
是程序执行过程中的一次 指令,数据集等的集合。
也可以叫做程序的一次执行过程。
进程是一个动态的概念。
进程由三大部分组成:代码段,数据段,PCB:进程管理控制
进程的三大基本状态:
就绪状态:已经获得运行需要的所有资源,除了CPU
执行状态:已经获得了所有资源包括cpu,处于正在运行
阻塞状态:因为各种原因,进程放弃了cpu,导致进程无法继续执行,此时进程处于内存中,继续等待获取cpu
进程的一个特殊状态:
挂起状态:是指因为种原因,进程放弃了cpu,导致进程无法继续执行,此时进程被踢出内存。
multiprocessing内置模块,是python提供,主要用于多进程编程
from bs4 import BeautifulSoup import requests import time from multiprocessing import Process headers = { 'user-agent':'Mozilla/5.0 (Windows NT 6.1; W…) Gecko/20100101 Firefox/61.0' } def get_url(url): res = requests.get(url) li = [] if res.status_code == 200: soup = BeautifulSoup(res.text,'html.parser') re = soup.find('div',class_='beautiful_pictures_show').find_all('li') for i in re: s = i.find('img').get('src') li.append(s) return li def get_img(url): # url = 'http://pic.xiao4j.com/upload/meinv/2018_0816/144048869.jpg_270_410.jpg' # s = url.split('/')[-1].split('_')[0] # print(s) r = requests.get(url) if r.status_code == 200: print() with open(url.split('/')[-1].split('_')[0],'wb') as f: f.write(r.content) if __name__ == '__main__': url = 'http://www.xiao4j.com/beauty/index.html' img_url = get_url(url) start = time.time() p_l = [] for i in img_url: # get_img(i) p = Process(target=get_img,args=(i,)) p.start() p_l.append(p) [i.join() for i in p_l] print(time.time() - start)
浙公网安备 33010602011771号