Compute System Inte
Compute System Inte
操作系统是一种管理软件, 软件管理, 资源管理. 对CPU, 内存, 磁盘进行抽象成进程, 地址
空间, 文件. 面积硬件有中断处理与设备IO.
组件
CPU调度器
物理内存管理
虚拟内存管理
文件系统管理
中断处理与设备驱动
特征
并发
共享资源
虚拟
异步
最新研究现状
SOSP
USENIX
操作系统研究地方
权衡
空间与时间
性能和可预测性
公平和性能
硬件
良好的硬件管理
合理的资源分配
例如: 硬盘速度跟CPU, 内存相差很多, 操作系统需要协调处理
操作系统设计
单内核 : monolithic kern...
Compute System Inteface
Compute System Inteface
系统调用, 异常, 中断
为什么有这三个
安全: 不能让软件随意的访问系统资源.
方便: 与硬件的交互是很复杂, 很容易出错. 操作系统可以使一般操作做成通用, 可移植的.
源头
中断: 外设
异常: 软件内部产生
系统调用: 软件主动产生
处理时间
中断: 异步
异常: 同步
系统调用: 异步或同步
处理过程
中断
硬件设置中断标记
保存当前执行过程
根据中断号获取执行程序
清除中断标记
恢复前面执行过程
异常
软件触发异常
保存当前执行过程
根据异常编号获取执行程序
根据异常执行程序结果不同, 1: 软件退出 2: 弥补异常继续执行
系统调用
...
VIM RegExp
VIM RegExp
How to see which plugins are making Vim slow?
1.
:profile start profile.log
:profile func *
:profile file *
" At this point do slow actions
:profile pause
:noautocmd qall!
2.
vim --startuptime timeCost.txt timeCost.txt
3.
hyiltiz/vim-plugins-profile
%s/\(.*\)/@XmlElement\(name = \"\1\"\)\rprivate String \L\1\e;/g
g/\(^[a-z]\...
SRE tools
SRE tools
iOS
ar
ar实用程序创建并维护组合到存档中的文件组。一次已创建存档,可以添加新文件,也
可以添加现有文件提取、删除或替换。
ar -t *.a
nm
nm显示中每个对象文件的名称列表(nlist结构的符号表)
nm libavoscloud.a
otool
等效objdump命令, 打印对象文件的内容和最终链接的映像.
otool libavoscloud.a -L
file
查看文件类型
file libavosclod.a
lipo
创建或者操作通用文件(multi-architecture), 如合并.a文件
// 查看信息
lipo -detailed_info libav...
Tools Ghidra
Tools Ghidra
IDA Pro 替代品, 美国国家安全局出的逆向工程工具.
管网: https://ghidra-sre.org/ (需要翻墙)
源码: https://github.com/NationalSecurityAgency/ghidra
https://gitee.com/mirrors/Ghidra/blob/master/build.gradle
安装: https://github.com/NationalSecurityAgency/ghidra/blob/master/GhidraDocs/InstallationGuide.html
编译源码
Installing Ghidra - Take 1
Install ...
iOS 反编译
iOS 反编译
unzip *.ipa
使用iOS App内的素材
ipa解压后, 可以在./Payload/*.app/ 中看到图片素材. 这些图片不能直接使用, 因为编译时
xcode对资源文件做了处理, 需要使用pngcrush工具转换回来.
/Applications/Xcode.app/Contents/Developer/usr/bin/pngcrush \
-revert-iphone-optimizations ${pngfile} ${target_pngfile}
如果是使用Image Assets管理的图片, 都会保存到Assets.car中, 可以使用cartool, 解压
Assets.car. cartool github
463 post articles, 58 pages.