python学习Day34--操作系统基础理论

一、回顾

1、TCP编码流程:——type=SOCK_STREAM

  导入模块                                                             导入模块

  实例化对象  套接字                                       实例化对象

  绑定ip+port     bind(元组)                               

  监听        listen( )

  等待连接      accept                                       连接服务器  connect/connect_ex(不抛异常,返回错误码)

  收发        recv/send                                  收发

  关闭        close                                         关闭

2、UDP编码流程:——type=SOCK_DGRAM

  导入模块                                                             导入模块

  实例化对象  套接字                                        实例化对象

  绑定ip+port  bind( )

  收发     recvfrom/sendto                         收发

  关闭        close                                          关闭

3、TCP与UDP的区别:

  tcp面向连接,可靠,面向字节流形式,只允许一个服务器在同一时间和一个客服端保持通讯。

  udp不面向连接,不可靠,面向数据包形式,快,不粘包;允许一个服务器在同一时间和多个客服端保持连接。

4、交换机的通讯方式:广播、单播、组播

5、TCP发生粘包的问题:

  粘包:发送端发送数据后,接收端不知道应该如何接收,导致的数据混乱。

  原因:合包机制,拆包机制。(都发生在发送端)

6、OSI五层模型:

  应用层

  网络层

  传输层

  数据链路层

  物理层

二、计算机

1、组成:

(1)主板:固化(寄存器,是直接和cpu进行交互的一个硬件)

(2)CPU:中央处理器——计算(数字计算和逻辑计算)和控制(控制所有硬件协调工作)

(3)存储:硬盘,内存

(4)输入设备:键盘,鼠标,话筒

(5)输出设备:显示器,音响,打印机

2、发展历史:

第一代计算机:电子管计算机,极其耗电,体积庞大,散热量特别高;

第二代计算机:晶体管计算机,比第一代有所优化;

第三代计算机:(白色大头计算机)集成电路计算机,一个板子固话几十到上百个小硬件;

第四代计算机:大型集成电路计算机,一个板子可以达到固话十几万个硬件;

第五代计算机:甚大型集成电路计算机。

3、计算机操作系统:

(1)操作系统是一个软件,是一个能直接操纵硬件的一个软件。

(2)微软研发的windows操作系统

(3)单处理机系统中多道程序运行时的特点:

  ① 多道:计算机内存中同时存放几道相互独立的程序;

  ② 宏观上并行:同时进入系统的几道程序都处于运行过程中,即它们开始了各自的运行,但都未运行完毕;

  ③ 微观上串行:实际上,各道程序轮流第用CPU,并交替运行。

(4)多道批处理系统:

  ① 多道:系统内可同时容纳多个行业。

  ② 成批:在系统运行过程中,不允许用户与其作业发挥等交互作用。

  无论什么时候,操作系统的目标总是:让用户勇气爱更加的轻松。高可用,低耦合。

(5)分时系统:

  把处理机运行的时间分成很短的时间片,按时间片轮流把处理机分配给各联机作业人使用。

  ① 多路性;② 交互性;③ 独立性;④ 及时性。

(6)实时系统:一般很少见,一般用于军事和工业生产中。

4、语言的发展史

(1)计算机识别的是二进制,

  机器语言(1和0组成)——>汇编语言——>高级语言(面向过程语言:C;面向对象语言:C++,JAVA,python,.net,php)

5、操作系统的作用:

(1)封装所欲硬件接口,让各种用户使用电脑更加轻松;

(2)是对计算机内所有资源进行合理的调度和分配。

三、进程的理论

1、进程:

  是指正在执行的程序;是程序执行过程中的一次 指令,数据集等的集合;也可以叫做程序的一次执行过程;进程是一个动态的概念。

  进程有三大部分组成:代码段,数据段,PCB:进程管理控制。

2、进程的特点:

(1)动态性:进程的实质是程序在多道程序系统中的一次执行过程,进程是动态生产,动态消亡的。

(2)并发性:任何进程都可以同其他进程一起并发执行。

(3)独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位。

(4)异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进。

3、进程的三大基本状态

(1)就绪状态:已经获得运行需要的所有资源,处理CPU。

(2)执行状态:已经获得了所有资源包括CPU,处于正在运行。

(3)阻塞状态:因为各种原因,进程放弃了CPU,导致进程无法继续执行,此时进程处于内存中,继续等待获取CPU。

(挂起状态:因为各种原因,进程放弃了CPU,导致进程无法继续执行,此时进程被提出内存)

 四、多进程演示

 1 from bs4 import BeautifulSoup
 2 import requests
 3 import time
 4 from multiprocessing import Process
 5 
 6 headers = {
 7     'user-agent':'Mozilla/5.0 (Windows NT 6.1; W…) Gecko/20100101 Firefox/61.0'
 8 }
 9 
10 def get_url(url):
11     res = requests.get(url)
12     li = []
13     if res.status_code == 200:
14         soup = BeautifulSoup(res.text,'html.parser')
15         re = soup.find('div',class_='beautiful_pictures_show').find_all('li')
16         for i in re:
17             s = i.find('img').get('src')
18             li.append(s)
19     return li
20 
21 
22 def get_img(url):
23     # url = 'http://pic.xiao4j.com/upload/meinv/2018_0816/144048869.jpg_270_410.jpg'
24     # s = url.split('/')[-1].split('_')[0]
25     # print(s)
26     r = requests.get(url)
27     if r.status_code == 200:
28         print()
29         with open(url.split('/')[-1].split('_')[0],'wb') as f:
30             f.write(r.content)
31 
32 if __name__ == '__main__':
33     url = 'http://www.xiao4j.com/beauty/index.html'
34     img_url = get_url(url)
35     start = time.time()
36     p_l = []
37     for i in img_url:
38         # get_img(i)
39         p = Process(target=get_img,args=(i,))
40         p.start()
41         p_l.append(p)
42 
43     [i.join() for i in p_l]
44     print(time.time() - start)

猜你喜欢

转载自www.cnblogs.com/fengxb1213/p/12664188.html