其他分享
首页 > 其他分享> > 第6章 操作系统考察点

第6章 操作系统考察点

作者:互联网

linux常考命令

介绍

为什么要学习linux?

如何查询linux命令用法

文件/目录操作命令

常见的文件操作工具

文件查看

文件或者日志查看工具

进程操作命令

掌握常见的进程操作工具

内存操作命令

掌握常见的内存操作工具

网络操作命令

掌握常见的网络工具

用户/组操作命令

掌握常见用户和组操作

总结:

操作系统线程和进程常考题

线程和进程的区别

进程和线程对比

线程安全

py哪些操作是线程安全的?

线程同步的方式

了解线程同步的方式,如何保证线程安全

进程间通信的方式

Inter-Process Communication 进程间传递信号或者数据

py中使用多线程

import threading

lock = threading.Lock()

n = [0]

def foo():
    with lock:
        n[0] = n[0] + 1
        n[0] = n[0] + 1

threads = []
for i in range(5000):
    t = threading.Thread(target=foo)
    threads.append(t)

for t in threads:
    t.start()

print(n)

py中如何使用多进程

py有GIL 可以用多进程实现cpu密集程序

#多进程
import multiprocessing

def fib(n):
    """worker function"""
    if n <= 1:
        return 1
    return fib(n-1) + fib(n-2)

if __name__ == '__main__':
    jobs = []
    for i in range(10, 20):
        p = multiprocessing.Process(target=fib, args=(i,))
        jobs.append(p)
        p.start()

操作系统内存管理机制常见考题

现代化编程语言一般有垃圾回收机制

什么是分页机制

​ 操作系统为了高效管理内存,减少碎片

​ 逻辑地址和物理地址分离的内存分配管理方案

​ 程序的逻辑地址划分固定大小的页(Page)物理地址划分为同样大小的帧(Frame)

​ 通过页表对应逻辑地址和物理地址

什么是分段机制

分段是为了满足代码的一些逻辑需求 数据共享,数据保护,动态链接等

通过段表实现逻辑地址和物理地址的映射关系 每个段内部是连续内存分配,段和段之间是离散分配的

分页和分段的区别

分页vs分段

页是出于内存利用率的角度提出的离散分配机制, 段是出于用户角度,用于数据保护,数据隔离等用途的管理机制,页的大小是固定的,操作系统决定,段大小不确定,用户程序决定

什么是虚拟内存

通过把一部分暂时不用的内存信息放到硬盘上 局部性原理,程序运行时候只有部分必要的信息装入内存

内存中暂时不需要的内容放到硬盘上, 系统似乎提供了比实际内存大得多的容量,称之为虚拟内存

什么是内存抖动(颠簸)

本质是频繁的页调度行为

​ 频繁的页调度,进程不断产生缺页中断 置换一个页,又不断再次需要这个页

​ 运行程序太多,页面替换策略不好,终止进程或者增加物理内存

py的垃圾回收机制原理?

引用计数解决不了循环引用问题

线程练习题

编写多线程爬虫

如何使用py的threading模块

使用py的Threading模块完成一个多线程爬虫类

​ 要求1:该类可以传入最大线程数和需要抓取的网址列表

​ 要求2:该类可以通过继承的方式提供一个处理response的方法

标签:操作系统,threading,py,进程,线程,内存,linux,考察点
来源: https://www.cnblogs.com/xuzhaoping/p/11616779.html