commit | f45a247d01274e34190ac01f4c0121fe9d090f10 | [log] [tgz] |
---|---|---|
author | Vikram Auradkar <auradkar@google.com> | Wed Jan 23 15:39:47 2019 -0800 |
committer | CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org> | Thu Jan 24 16:52:22 2019 +0000 |
tree | 976da454bd0922ca68333e3668a366f07fe9bfcd | |
parent | 7d62fa30ee55653c9d912e655e12040478d493f9 [diff] |
[blobfs] return inode number from Getattr and add the number to vmo name This helps in mapping blob to a vmo which in turn helps in tracking memory consumption. Before: $ ls -li /blob/ ... 18446744073709551615 -r-------- 1 0 0 20480 Jan 01 1970 fd664094507dd0fe52ba30616887640cc6b225ce2c13d8e6616d27b67ddd8f16 18446744073709551615 -r-------- 1 0 0 24576 Jan 01 1970 fda25a8c803a5a6f9da80dd5ed1ff3e3a3f1af40ad5bc7f9ac48a94d6b6fe976 18446744073709551615 -r-------- 1 0 0 36864 Jan 01 1970 fdc601c695fb1e7e503fa8921b4233982efbb1c7b8fc3391b44cda284657e46c ... $ vmos - 3022 - 13 1 1 840k 840k blob - 3703 - 1 1 1 848k 848k blob - 3432 - 1 1 1 2424k 2424k blob After: $ ls -li /blob/ ... 913 -r-------- 1 0 0 4585744 Jan 01 1970 fa29f18ecb5d307651a2d69882d1c54ff582a0885d951840f18e35208082c3c1 43 -r-------- 1 0 0 2395344 Jan 01 1970 fa656c6d15b3270507153f2eac0925fa14ce4fd8d358b135a3306893a34dfaf8 1033 -r-------- 1 0 0 9888 Jan 01 1970 fa6f04cfc594b86f3bab4c4600bbfc606e7793190955209b720069ef12730a63 ... $ vmos ... - 6160 - 1 1 1 672k 672k blob-521 - 7076 - 1 1 1 1560k 1560k blob-3a - 7367 - 1 1 1 944k 944k blob-3d1 - 4622 - 1 1 1 8096k 8096k blob-372 ... Tested: Ran ls and vmos. Change-Id: I7812ca69eef420a4ec49c6135c40f4a291a376d0
Zircon is the core platform that powers the Fuchsia OS. Zircon is composed of a microkernel (source in kernel/...) as well as a small set of userspace services, drivers, and libraries (source in system/...) necessary for the system to boot, talk to hardware, load userspace processes and run them, etc. Fuchsia builds a much larger OS on top of this foundation.
The canonical Zircon Git repository is located at: https://fuchsia.googlesource.com/zircon
The Zircon Kernel provides syscalls to manage processes, threads, virtual memory, inter-process communication, waiting on object state changes, and locking (via futexes).
Currently there are some temporary syscalls that have been used for early bringup work, which will be going away in the future as the long term syscall API/ABI surface is finalized. The expectation is that there will be about 100 syscalls.
Zircon syscalls are generally non-blocking. The wait_one, wait_many port_wait and thread sleep being the notable exceptions.
This page is a non-comprehensive index of the zircon documentation.