2021-11-22 - Rust CTCFT - Rust for Linux
Rust for Linux Miguel Ojeda Wedson Almeida Filho Alex Gaynor Rust for Linux aims to add Rust support to the Linux kernel. We believe Rust offers key improvements over C in this domain. We hope priority is to stabilize them (or to find alternatives): https://github.com/Rust-for-Linux/linux/issues/2 The kernel should build without RUSTC_BOOTSTRAP. The rest of this talk focuses on things that infer the name, and call __mutex_init. Language Library Modularization of core and alloc The kernel does not need a range of core/alloc features. Configuring them off is important for correctness0 码力 | 53 页 | 332.50 KB | 9 月前3Oracle VM VirtualBox 4.2.32 User Manual
on Linux hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 2.3.1 Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 2.3.2 The VirtualBox kernel module vboxusers group . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 2.3.5 Starting VirtualBox on Linux . . . . . . . . . . . . . . . . . . . . . . . . 41 2.4 Installing on Solaris hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.10.2 Implementation notes for Windows and Linux hosts . . . . . . . . . . . 57 3.11 Shared folders . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 348 页 | 5.93 MB | 6 月前3Oracle VM VirtualBox 4.1.40 User Manual
on Linux hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.3.1 Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.3.2 The VirtualBox kernel module vboxusers group . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.3.5 Starting VirtualBox on Linux . . . . . . . . . . . . . . . . . . . . . . . . 39 2.4 Installing on Solaris hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 3.10.2 Implementation notes for Windows and Linux hosts . . . . . . . . . . . 55 3.11 Shared folders . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 310 页 | 4.87 MB | 6 月前3Oracle VM VirtualBox 4.3.36 User Manual
on Linux hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.3.1 Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.3.2 The VirtualBox kernel module vboxusers group . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 2.3.5 Starting VirtualBox on Linux . . . . . . . . . . . . . . . . . . . . . . . . 42 2.4 Installing on Solaris hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.10.2 Implementation notes for Windows and Linux hosts . . . . . . . . . . . 58 3.11 Shared folders . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 380 页 | 3.79 MB | 6 月前3Oracle VM VirtualBox 5.2.40 User Manual
Unattended installation . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.3 Installing on Linux hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.3.1 Prerequisites . . . vboxusers group . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 2.3.5 Starting VirtualBox on Linux . . . . . . . . . . . . . . . . . . . . . . . . 44 2.4 Installing on Solaris hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 3.11.2 Implementation notes for Windows and Linux hosts . . . . . . . . . . . 61 3.12 Shared folders . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 387 页 | 4.27 MB | 6 月前3Oracle VM VirtualBox 5.2.12 User Manual
Unattended installation . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.3 Installing on Linux hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.3.1 Prerequisites . . . vboxusers group . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 2.3.5 Starting VirtualBox on Linux . . . . . . . . . . . . . . . . . . . . . . . . 44 2.4 Installing on Solaris hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 3.11.2 Implementation notes for Windows and Linux hosts . . . . . . . . . . . 61 3.12 Shared folders . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 380 页 | 4.23 MB | 6 月前3CurveFs 用户权限系统调研
FUSE_CAP_POSIX_ACL; ... se->op.init(se->userdata, &se->conn); } // libfuse include/fuse_kernel.h // This is the first request sent by the kernel to the daemon. It is used to negotiate the protocol version and other filesystem does not specify a * limit, the maximum size of read requests will still be * limited by the kernel. * * NOTE: For the time being, the maximum size of read requests© XXX Page 11 of 33 * must max_read; /** * Maximum readahead */ unsigned max_readahead; /** * Capability flags that the kernel supports (read-only) */ unsigned capable; /** * Capability flags that the filesystem wants0 码力 | 33 页 | 732.13 KB | 5 月前3Open Flags 调研
00002000 #define O_NONBLOCK 00004000 #define O_SYNC 00010000(before linux 2.6.33) 04010000(after linux 2.6.33) #define O_DSYNC 00010000(after linux 2.6.33) #define FASYNC 00020000 #define O_DIRECT 00040000 #define O_NOFOLLOW 00400000 #define O_NOATIME 01000000 #define O_CLOEXEC 02000000 #define O_PATH 010000000(since linux 2.6.39) #define O_TMPFILE 020000000|O_DIRECTORY #define O_NDELAY O_NONBLOCK(O_NDELAY是在System V的早期 每次write都等到物理I/O完成,包括write引起的文件属性的更新。 O_SYNC O_DSYNC: 每次write都等待物理I/O完成,但是如果写操作不影响读取刚写入的数据,则不等待文件属性更新(在linux 2.6.33之前只有O_SYNC flag, 但是在绝大多数文件系统中对O_SYNC的实现都是O_DSYNC的含义,在2.6.33版本支持了O_DSYNC flag,且值使用原O_SYNC的值,0 码力 | 23 页 | 524.47 KB | 5 月前3Deploy VTA on Intel FPGA
Contiguous Memory Allocation – Linux Kernel DEPLOY VTA ON INTEL FPGA https://pynq.readthedocs.io/en/v2.0/pynq_package/pynq.xlnk.html Configure Linux kernel Download Linux kernel from https://github.com com/altera-opensource/linux-socfpga/archive/rel_socfpga-4.9.76-ltsi-rt_18.08.02_pr.tar.gz©2019 HARMAN INTERNATIONAL INDUSTRIES, INCORPORATED 6 Software - CMA Contiguous Memory Allocation – Linux Kernel Module DEPLOY DEPLOY VTA ON INTEL FPGA Setup Environment Variables Navigate to 3rdparty/cma and build kernel module Copy kernel module to DE10-Nano and Install Module CMA API Reference©2019 HARMAN INTERNATIONAL INDUSTRIES0 码力 | 12 页 | 1.35 MB | 5 月前3Leveraging C++20/23 Features for Low Level Interactions
can we use C++ to make HW access cleaner, safer, and more testable?Why is C so proli�c? It’s the kernel, silly! 30 years ago, all low level interaction was done with C Organizations are very comfortable Safety Sophisticated Strong Typing System Inheritance and Polymorphism But you may still need: Kernel functions Existing APIs Conversion to raw pointers So, use C++, but don’t negate the advantages LOTS of code out there!1 To rewrite a modest sized C code base would take years! Rewriting the linux kernel is likely intractable. �. See also Stroustrup (2023), in referencesWhy not rewrite all the C0 码力 | 56 页 | 5.39 MB | 5 月前3
共 249 条
- 1
- 2
- 3
- 4
- 5
- 6
- 25