中国科学技术大学:A Practical Verification Framework for Preemptive OS Kernels(PPT讲稿)

A Practical verification Framework for Preemptive os Kernels Fengwei Xu Ming Fu Xinyu Feng Xiaoran Zhang Hui zhang Zhaohui Li University of Science and Technology of China Jy22,2016CAV2016 http://staff.ustcedu.cn/-fuming/research/certiucos/
A Practical Verification Framework for Preemptive OS Kernels Fengwei Xu Ming Fu Xinyu Feng Xiaoran Zhang Hui Zhang Zhaohui Li University of Science and Technology of China July 22, 2016 CAV2016 http://staff.ustc.edu.cn/~fuming/research/certiucos/

Motivation of os verification Computer System
Motivation of OS Verification Computer System

Motivation of os verification Applications Operating System Hardware Correctness of OS is crucial for safety and security of the whole system
Motivation of OS Verification Hardware Operating System Applications Correctness of OS is crucial for safety and security of the whole system

Challenges of os Verification Many challenges AsSembly code Concurrency Preemption Interrupts Large code base Device&v/o Concurrency caused by preemptions is particularly challenging
Challenges of OS Verification Many challenges: Preemption … Concurrency C/Assembly code Interrupts Large code base Device & I/O Concurrency caused by preemptions is particularly challenging

Preemption Preemption is the act of temporarily inter nested multi-level t requiring its cooperation interrupts Hand ler 1 Handler 0) Task A Kernel-Level iret preemption cli switch preempt Task B Handler 1 Handler 1 cli switch iret iret s switch iret Preemptions and multi-level interrupts are indispensable to achieve real-time guarantees in rtos Preemptive os kernel is highly concurrent and complex
Preemption Preemptions and multi-level interrupts are indispensable to achieve real-time guarantees in RTOS. Preemptive OS kernel is highly concurrent and complex. . . . . . . cli . . . switch . . . sti . . . Task A . . . sti Handler 1 iret. . . Handler 0 . . . . . . cli . . . switch . . . sti . . . Task B . . . cli . . . switch . . . iret . . . sti . . . eoi Handler 1 . . . iret iret. . . Handler 1 Kernel-Level preemption Preemption is the act of temporarily interrupting a task without requiring its cooperation. nested multi-level interrupts

Challenges of concurrent Kerne|∨ erification Verifying concurrent programs is difficult Non-deterministic interleaving Verifying concurrent kernel is more challenging OS verification is usually based on refinement verification Concurrent kernel verification requires combination of verifying refinement and concurrency Difficult to do it compositionally Theoretical problems have not been solved until recently [Liang et al. PLDI13, LICS 14][Turon et al. POPL13, ICFP 13 Concurrency caused by preemptions and multi-level interrupts are avoided by previous Os verification projects e.g. seL4 [Klein et al. SOSP 09, CertiKos [Gu et al. POPL' 15]
Challenges of Concurrent Kernel Verification • Verifying concurrent programs is difficult – Non-deterministic interleaving • Verifying concurrent kernel is more challenging – OS verification is usually based on refinement verification – Concurrent kernel verification requires combination of verifying refinement and concurrency • Difficult to do it compositionally • Theoretical problems have not been solved until recently [Liang et al. PLDI’13, LICS’14] [Turon et al. POPL’13, ICFP’13] Concurrency caused by preemptions and multi-level interrupts are avoided by previous OS verification projects e.g. seL4 [Klein et al. SOSP‘09], CertiKOS[Gu et al. POPL’15]

fact Our Contributions Verification framework for preemptive os kernel Refinement of concurrent kernels Multi-Level interrupts Verification of key modules of a commercial OS kernel uc/OS-l in Coq Micrium Embedded Software rHC OS-I The first mechanized verification of a commercial preemptive os kernel
Our Contributions • Verification framework for preemptive OS kernel – Refinement of concurrent kernels – Multi-Level interrupts • Verification of key modules of a commercial OS kernel μC/OS-II in Coq The first mechanized verification of a commercial preemptive OS kernel

Outline OS Correctness Verification framework Program logic for refinement and multi-level interrupts Verifying uC/OS
Outline • OS Correctness • Verification Framework – Program logic for refinement and multi-level interrupts • Verifying μC/OS-II

OS Correctness Os provides abstraction for programmers Hide details of the underlying hardware Provide an abstract programming model OS Correctness: refinement between high-level abstraction and low-level concrete implementation
OS Correctness • OS provides abstraction for programmers – Hide details of the underlying hardware – Provide an abstract programming model • OS Correctness : refinement between high-level abstraction and low-level concrete implementation

OS Correctness Applications High-Level Abstract machine C+ Abstract primitives Low-Level Abstract Machine High-Level Low-Level Concrete C+Assembly Abstract Primitives Implementations
OS Correctness High-Level Abstract Machine High-Level Abstract Primitives Low-Level Concrete Implementations Applications C + Abstract primitives C +Assembly Low-Level Abstract Machine
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《算法设计与分析基础》课程教学课件(PPT讲稿)Chapter 2 Fundamentals of the Analysis of Algorithm Efficiency.ppt
- 中国医科大学:《计算机基础》课程教学资源(PPT课件)第8章 Internet应用基础.ppt
- RDA Testing & Comparison with AACR2(session 1).ppt
- 《Computer Networking:A Top Down Approach》英文教材教学资源(PPT课件讲稿,6th edition)Chapter 2 Application Layer.ppt
- 《计算机网络》课程电子教案(PPT教学课件)第二章 物理层.pptx
- 同济大学:企业电子商务系统(PPT讲稿)Enterprise Electronic Business Systems.ppt
- 分布式数据库(PPT课件讲稿)Distributed DBMS Architecture.ppt
- 计算机网络 The Network Layer(PPT课件讲稿)网络互联、Internet上的网络层.ppt
- 《编码理论》课程电子教案(PPT课件讲稿)第二章 信息量和熵.ppt
- 《编译原理》课程教学资源(PPT课件讲稿)代码优化——全局数据流分析技术.ppt
- 网络应用软件(PPT课件讲稿)第一讲 客户-服务器概念、协议端口的使用、套接字API.ppt
- 西安电子科技大学:《微机原理与接口技术》课程教学资源(PPT课件讲稿)第一章 数制与码制(主讲:王晓甜).pptx
- 大连工业大学:《计算机文化与软件基础》课程教学资源(PPT课件讲稿)绪论、计算机系统的组成、计算机中数的表示.pps
- 中国科学技术大学:《计算机体系结构》课程教学资源(PPT课件讲稿)第4章 存储层次结构设计.pptx
- 中国科学技术大学:《数据结构及其算法》课程电子教案(PPT课件讲稿)第七章 图.pps
- 《计算机视觉》课程教学资源(PPT课件讲稿)基于灭点几何的深度图重建、基于焦点变换的深度图重建.ppt
- 《计算机网络》课程教学资源(PPT课件讲稿)第2章 物理层.ppt
- 中国科学技术大学:《计算机体系结构》课程教学资源(PPT课件讲稿)第三章 流水线技术.ppt
- 《Java Web编程技术》课程教学资源(PPT课件讲稿)第4章 JDBC数据库访问技术.ppt
- TTCN3工具培训(PPT讲稿)TTCN-3简介.ppt
- 《Computer Networking:A Top Down Approach》英文教材教学资源(PPT课件讲稿,6th edition)Chapter 2 Application Layer.ppt
- 《数据结构》课程教学资源(PPT课件讲稿)第五章 树.ppt
- 《Computer Networking:A Top Down Approach》英文教材教学资源(PPT课件讲稿,6th edition)Chapter 1 Introduction.ppt
- 《数据结构 Data Structure》课程教学资源(PPT课件讲稿)第四章 数组、串与广义表.ppt
- 中国科学技术大学:《现代密码学理论与实践》课程教学资源(PPT课件讲稿)第10章 密钥管理与其他公钥体制.pptx
- 中国科学技术大学:《算法基础》课程教学资源(PPT课件讲稿)第四讲 递归和分治策略(主讲人:吕敏).pptx
- 中国科学技术大学:《数值分析》课程教学资源(PPT课件讲稿)第1章 插值.ppt
- 《网络算法学》课程教学资源(PPT课件讲稿)第二部分 端节点算法学 第五章 拷贝数据.ppt
- 中国科学技术大学:《计算机体系结构》课程教学资源(PPT课件讲稿)第三章 流水线技术.pptx
- 北京航空航天大学:动态拼车服务中的高效插入操作(PPT讲稿)An Efficient Insertion Operator in Dynamic Ridesharing Services.pptx
- 西安电子科技大学:《计算机网络 Computer Networks》课程教学资源(PPT课件讲稿)第一章 概述(主讲:马涛).pptx
- 计算机语言的学科形态与发展历程(PPT课件讲稿).ppt
- 西安电子科技大学:《计算机网络 Computer Networks》课程教学资源(PPT课件讲稿)概述(主讲:岳鹏).ppt
- 南京航空航天大学:《C++》课程电子教案(PPT课件讲稿)第4章 类的高级部分.ppt
- 《神经网络和模糊系统》课程教学资源(PPT讲稿)第四章 突触动力学、非监督学习.ppt
- 《Computer Networking:A Top Down Approach》英文教材教学资源(PPT课件讲稿,4th edition)Chapter 1 Introduction.ppt
- 清华大学:不确定型决策(PPT讲稿)Decision Making under Uncertainty.pptx
- 西安电子科技大学:《计算机网络 Computer Networks》课程教学资源(PPT课件讲稿)第五章 传输层.pptx
- 《机器学习》课程教学资源(PPT课件讲稿)第七章 贝叶斯分类器 MACHINE LEARNING.pptx
- 清华大学:计算机科学与技术(PPT讲稿)组播 Multicast.pptx