1
0
mirror of https://github.com/rcore-os/rCore.git synced 2024-11-23 00:16:17 +04:00
rCore/docs/2020_OS/g2/slides/方案设计报告幻灯片.tex
2020-06-12 08:56:02 +08:00

157 lines
4.8 KiB
TeX
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

\documentclass{beamer}
\usepackage{amsmath}
\usefonttheme{serif}
\usepackage{ctex}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{minted}
\usepackage{graphics}
\usepackage{booktabs}
\usepackage{xeCJK}
\setCJKmainfont[ItalicFont={楷体}, BoldFont={黑体}]{宋体}
\usepackage{booktabs}
\newcommand{\E}{\text{E}}
\newcommand{\var}{\text{Var}}
\newcommand{\cov}{\text{Cov}}
\renewcommand{\d}{\text{d}}
\setbeamertemplate{footline}[frame number]
\title{rCore 的基本开发环境的搭建}
\author{罗崚骁 \quad 宋香君}
\begin{document}
\begin{frame}
\titlepage
\end{frame}
\begin{frame}{课程设计目标}
\begin{itemize}
\setlength{\itemsep}{10pt}
\item \textbf{C/C++ 开发}:基于 musl libc 的 gcc 工具链
\item \textbf{工程构建}GNU make, CMake
\item \textbf{Rust 开发}Rust 工具链
\item \textbf{版本控制系统}git
\item \textbf{编辑器}vi, vim
\item \textbf{软件包管理器}cargo
\end{itemize}
\end{frame}
\begin{frame}{课程设计背景}
rCore 已经具备了运行一些软件的能力。但是rCore 的软件开发能力还稍显不足。
\begin{itemize}
\setlength{\itemsep}{10pt}
\item 编译器支持不足,目前仅支持 musl-gcc
\item C/C++Rust 标准库实现支持不详,缺少测试,目前仅支持 musl-libc
\item 没有版本控制系统
\item 缺少项目构建工具
\item 编辑器只能说勉勉强强vi
\item 没有软件包管理器,甚至不能从源码安装软件
\end{itemize}
\end{frame}
\begin{frame}{已有工作}
\begin{itemize}
\setlength{\itemsep}{10pt}
\item rCore 已经实现了相当数量的系统调用,能够支持 \href{https://github.com/rcore-os/rcore-user}{rcore-user} 中的软件,
\item 考虑到编译器是我们的课程设计中重要的一环,尤其可以参考此前 rCore 对 musl-gcc 的支持历程
\item 可以设法获取的各种满足我们需求的开源软件,这一点决定了我们的工作思路是对 rCore 针对软件进行完善,而非针对 rCore 开发软件
\end{itemize}
\end{frame}
\begin{frame}{工作计划及目前进展}
工作计划按如下顺序开展:
\begin{itemize}
\setlength{\itemsep}{10pt}
\item 完善对 gcc 的支持,测试 C/C++ 标准库实现
\item 支持 make使 rCore 具备从源码安装软件的能力
\begin{itemize}
\item 还可考虑支持 CMake
\end{itemize}
\item 支持 Git
\item 支持 Rust 工具链,主要包括:
\begin{itemize}
\item rustc
\item cargo
\item 测试 rust 标准库实现
\end{itemize}
\item 支持更多的编辑器
\begin{itemize}
\item nano
\item vim
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}{软件支持过程}
{安装}
\begin{itemize}
\setlength{\itemsep}{10pt}
\item 寻找官方发布的预编译版本
\item 外部源码构建
\item rCore 内部源码构建(目前估计难以达到较好效果)
\end{itemize}
\end{frame}
\begin{frame}{软件支持过程}
{测试}
\begin{itemize}
\setlength{\itemsep}{10pt}
\item 对于C/C++,Rust 标准库的测试,似乎没有找到官方公开的测例,运行大规模工程
\item 对于各种软件,决定选取其重要功能进行测试
\begin{itemize}
\setlength{\itemsep}{10pt}
\item make 是否能顺利构建项目、是否支持增量构建等
\item Git 的 add,commit,log,status,branch 等功能
\item 当然如果能找到测例的话就最好了
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}{软件支持过程}
{系统调用}
\begin{itemize}
\item 利用 rCore 的 log 信息
\end{itemize}
\begin{figure}[H]
\centering
\includegraphics[width=\linewidth]{assets/syscall0.png}
% \caption{}
% \label{}
\end{figure}
\end{frame}
\begin{frame}{小组分工}
\begin{itemize}
\item 罗崚骁
\begin{itemize}
\setlength{\itemsep}{8pt}
\item 实现和完善系统调用
\item 完成对 Git 支持
\item 完成对 cargo 离线版的支持
\item 测试 C++ 和 Rust 项目
\end{itemize}
\item 宋香君
\begin{itemize}
\setlength{\itemsep}{8pt}
\item 实现和完善系统调用
\item 完成对 make,CMake 的支持
\item 测试 C 项目
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}{结束}
谢谢观看
\end{frame}
\end{document}