Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions W12D1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#Android kernal Structure

* 应用程序(Applications): Android应用程序是用户与设备交互的主要方式。应用程序可以是预装的或下载的,可以通过Google Play等应用商店获得。每个应用程序都是独立的,并在自己的进程中运行。

* 应用程序框架(Application Framework): Android应用程序框架是一组API和类库,开发人员可以使用这些工具来创建和管理应用程序。该框架提供了许多常见功能的支持,如UI设计、数据存储、通信和安全性。

* 系统运行库(System Runtime): Android系统运行库包含了Java虚拟机(JVM)、核心Java类库和Dalvik虚拟机(DVM)。该组件负责管理和执行应用程序代码,同时处理各种系统级别操作,例如进程管理、内存管理和网络通信。

* 硬件抽象层(Hardware Abstraction Layer): Android硬件抽象层提供了硬件驱动程序的标准接口,使得不同的设备制造商可以轻松地适配其硬件到Android系统中。硬件抽象层还提供了对摄像头、蓝牙、WiFi等重要设备的支持。

* Linux内核(Linux Kernel): Android操作系统是基于Linux内核构建的,该内核负责管理与硬件交互的底层功能。它处理进程管理、资源分配、内存管理、网络协议和安全性等任务,并提供了许多关键的驱动程序和服务。
11 changes: 11 additions & 0 deletions W16D1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Review

* every single problem in test

* 存储系统结构设计

* TTE/安全初步

* 闲聊

* VM machine 细节
19 changes: 19 additions & 0 deletions W4D1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# VM
* 虚拟内存是指计算机操作系统用于管理进程访问内存的技术。它将进程需要访问的内存空间映射到物理内存或者硬盘上。

* 虚拟内存允许各个程序在自己的地址空间中运行,并且使得每个程序都可以看到一块连续的内存,而不必关心这些内存实际上是散布在物理内存中的。

* 虚拟内存还可以防止进程之间相互干扰,提高了系统的稳定性和安全性。

* 操作系统通过使用页面置换算法来管理虚拟内存。当进程需要访问的内存页没有被加载到物理内存时,操作系统会将其从磁盘中读取并放入物理内存中。

# Swap
* 交换空间是指计算机硬盘上已经预留出来的一部分空间,用于当物理内存不足时存储不常用的数据。

* 当物理内存不足时,操作系统会将一部分数据保存到交换空间中,以便给正在运行的进程提供更多的物理内存。

* 交换空间虽然可以提高系统的运行效率,但是它的使用也会降低系统的性能。因为硬盘的访问速度远不如内存,所以在频繁使用交换空间时,系统的响应速度会明显下降。

* 调整交换空间的大小可以影响系统的性能。如果交换空间太小,可能会导致系统崩溃;而如果交换空间太大,可能会浪费硬盘空间并导致系统变慢。

* 操作系统通常会在安装时自动创建一定大小的交换空间。管理员也可以手动调整交换空间的大小,以适应特定的应用程序或者工作负载。
10 changes: 10 additions & 0 deletions W8D1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# nelson
full-nelson.c是一个利用Linux漏洞的程序示例,这个漏洞被称为“完整的Nelson漏洞”(Full-Nelson Vulnerability),它允许攻击者在没有root权限的情况下提升自己的权限。

这个漏洞是由于Linux内核中的一个安全问题引起的。攻击者可以通过使用“完整的Nelson锁定”技术来绕过内核中的安全机制,从而获取高级别的权限。

漏洞的利用需要使用特殊的程序代码,如full-nelson.c。该程序运行后,将执行一系列操作,包括打开/proc/kallsyms文件、搜索系统中的所有符号和函数,并尝试查找与内存分配相关的特定函数。如果成功找到这些函数,程序将使用“完整的Nelson锁定”技术来增加自己的权限级别。

由于该漏洞已经得到了修复,因此目前的Linux内核不受此漏洞威胁。然而,这个例子程序仍然是一个很好的学习资源,可以帮助人们更好地理解Linux内核的工作原理以及如何编写漏洞利用程序。

源网站:[CSDN](https://blog.csdn.net/m_o_bz/article/details/40700945)