| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> 面试基础总结-操作系统、计算机网络、数据库 -> 正文阅读 |
|
[大数据]面试基础总结-操作系统、计算机网络、数据库 |
操作系统1.进程、线程和协程的区别和联系
线程间共享的有堆、全局变量、静态变量、指针、引用、文件等,独自占有栈。所以线程共享同一进程的内存空间。 1.一个进程可创建多少线程?理论上一个进程可用的虚拟地址空间是2G,默认情况下一个线程大小为1MB,所以理论上一个进程最多可创建2048个线程。 一个进程可创建的线程数由可用虚拟地址空间和线程的栈的大小共同决定。 进程结构由以下部分组成:代码段、堆栈段、数据段。代码段是静态的二进制代码,多个程序共享。父进程创建完子进程后,父、子进程除了pid基本一致,共享全部数据。子进程通过写时拷贝和父进程共享数据。 进程地址空间:32位进程的地址空间都是4G,但用户态下只能访问低3G地址空间,只有加入内核态后,才可访问3G~4G的地址空间。 2.进程调度算法
3.Linux下进程间通信方式
4.Linux下的同步机制POSIX信号量:进程、线程都可用 POSIX互斥锁+条件变量:只可用于线程同步 5.进程间的状态切换就绪状态(ready)等待调度 运行状态(running) 阻塞状态(waiting)等待资源 就绪和运行可以相互转换,其他都是单向转换,阻塞状态是缺少需要的资源而由运行状态转换过来。 6.操作系统对内存管理时需要做什么?
7.线程通信方法信号 锁机制:互斥锁、读写锁、自旋锁 条件变量 信号量 8.虚拟内存的目的?让物理内存扩充成更大的逻辑内存,让程序获得更多的可用内存。为了更好地管理内存,操作系统将内存抽象成地址空间。每个程序拥有自己的地址空间,这个地址空间被分割成很多块,每一块称为一页。这些页被映射到物理内存,当程序引用到不在物理内存中的页时,由硬件执行必要的映射,将缺失的部分装入物理内存并重新执行失败的指令。 9.典型的锁读写锁:多个读者可同时读;写必须互斥(只允许一个写,写读不可同时进行);写优于读 互斥锁 条件变量 自旋锁 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 12:54:15- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |