Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

操作系统 #54

Open
ShannonChenCHN opened this issue Apr 30, 2017 · 5 comments
Open

操作系统 #54

ShannonChenCHN opened this issue Apr 30, 2017 · 5 comments

Comments

@ShannonChenCHN
Copy link
Owner

ShannonChenCHN commented Apr 30, 2017

  • 种类
  • 方向
    • CPU 管理、分时操作
    • 内存管理、分段、分页
    • 进程管理、线程调度
    • 文件系统
    • 网络通讯
    • 用户界面
    • 驱动程序
@ShannonChenCHN ShannonChenCHN changed the title 【任务】开源代码学习 【专题】操作系统 Jun 25, 2017
@ShannonChenCHN ShannonChenCHN changed the title 【专题】操作系统 操作系统 Jun 30, 2017
@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Oct 21, 2017

延伸阅读

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Mar 22, 2018

堆和栈的区别

1. 栈内存(stack)

栈是用来存储函数内部(包括main函数)的局部变量和方法调用和函数参数值,是由系统自动分配的(所以不需要程序员手动管理),一般速度较快;存储地址是连续且存在有限栈容量,会出现溢出现象。

2. 堆内存(heap)

堆是由程序员手动分配释放的,通过malloc和new等动态申请内存的语句使用,也需要用户手动回收(或可能在程序结束时OS自动回收,在 iOS 中有 autoreleasepool 会自动释放对象),而对于面向对象程序来说,new出来的任何对象,无论是对象内部的成员变量,局部变量,类变量,他们指向的对象都存储在堆内存中(但指针本身存在栈中),一般速度较栈慢;存储地址通常是链式的,内存较大不会溢出。

参考

@ShannonChenCHN
Copy link
Owner Author

进程和线程的区别

参考:

@ShannonChenCHN
Copy link
Owner Author

ShannonChenCHN commented Mar 30, 2018

This was referenced Aug 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant