腾讯云
Java
1. Java变量的传递方式
值传递
OS
2. 栈和堆的区别(OS层面)
栈是先进后出的,一般是OS自动分配的,堆是由程序员自己申请的
函数定义的变量是在栈上,譬如malloc是在堆上
操作系统有一个记录空闲内存地址的链表,当系统收到程序的申请时,会遍历该链表,寻找第一个空间大于所申请空间(可能是其他算法)的堆结点,然后将该结点从空闲结点链表中删除,并将该结点的空间分配给程序
3. 虚拟内存
虚拟内存为了扩大进程对内存的使用空间,主要有页表置换算法
opt,fifo,lru
4. 中断
中断分为多种,分别有物理中断,虚拟中断等等
中断可以实现进程之间的通信,分页中断还可以进行虚拟内存的页面交换
5. 系统调用
系统调用即System Call,为了扩充机器功能、增强系统能力、方便用户使用而在内核中建立的过程(函数),它是用户程序或其它系统程序获得操作系统服务的唯一途径,系统调用也称为广义指令,是由操作系统在机器指令基础上实现的过程或子程序
这篇博客详细介绍了腾讯云和腾讯视频面试中涉及的操作系统(OS)和计算机网络(计网)的知识点,包括Java变量的传递方式、栈和堆的区别、虚拟内存、中断、系统调用、malloc、线程与进程、TCP与UDP的区别、三次握手四次挥手、网络中断处理、以及代码实现如翻转链表、手写单例等。同时,讨论了进程内存空间、内存管理、分页保护机制、mmap和进程通信方式。面试者在复盘中表达了对OS和计网深入理解的挑战。
订阅专栏 解锁全文
18万+

被折叠的 条评论
为什么被折叠?



