Avros
OS Microkernel Tertanam seperti Unix untuk Atmel AVR CPU
Berjalan di ATmega1284p dengan 16K RAM
Fitur:
- Microkernel minimal dengan fasilitas yang menyampaikan pesan, sebagian besar layanan OS (manajemen "proses", sistem file, driver perangkat) diimplementasikan oleh tugas (server) terpisah yang berkomunikasi dengan klien mereka (tugas pengguna) dan satu sama lain dengan menyampaikan pesan yang menyampaikan pesan
- Entitas OS yang saat ini diimplementasikan seperti Unix, dengan panggilan sistem yang akrab, entitas OS terutama ditentukan oleh tugas layanan OS (server)
- Beberapa entitas OS dapat hidup berdampingan pada CPU yang sama, berbagi microkernel yang sama
- Kooperatif dan/atau timer interupsi preemptive multitasking
- Sistem File Virtual dengan Unix -Pipes - (Nama file dan folder belum diimplementasikan - Anda harus merujuk ke setiap file dengan duet nomor perangkat/inode masing -masing, misalnya sintaks: '2/1')
- Driver perangkat berjalan sebagai tugas terpisah (utas), termasuk perangkat pipa
- Antarmuka driver perangkat terpadu
- Akses shell melalui USArts, beberapa sesi dapat diteluskan saat init.
Gudang
Main.c: Tugas Pertama dan Fungsi Utama - OS menjalankan tugas ini terlebih dahulu. Ini menciptakan server secara berurutan (TS, VFS, ES, PM, lihat di bawah untuk makna), mengatur perangkat, mendaftarkan executable, kemudian akhirnya memicu 'init' yang merupakan tugas root untuk setiap tugas pengguna.
Kernel: Microkernel dan HAL (Lapisan Abstraksi Perangkat Keras) Kode Sumber
- Fungsionalitas Dasar: Pembuatan dan Penjadwalan Tugas (Prioritas Round Robin), Lewat Pesan, Penanganan Interupsi, Alokasi Memori (Server Manajer Memori sedang dalam pengembangan, lihat Misc/)
- Idletask - berjalan saat tidak ada lagi yang harus dijalankan - menghentikan CPU sampai interupsi berikutnya untuk menghemat daya
USR
Server:
- PM: Manajer Proses -
Hirarki proses, proses zombie, keluar (), tunggu (), exec (), spawntask () - VFS: Server File Virtual - Deskriptor File, Tabel Filp, Inode, Open (), Close (), Read (), write (), dup (), pipa (), mkdev (), mknod (), fstat (), dll ...
- SEMA: Server Semaphore Sederhana (saat ini tidak digunakan) - p (), v ()
- TS: Time Server - Timer Interrupt Handler, Sleep (), Uptime, Real Time
- Contoh: Server yang dapat dieksekusi - Register Aplikasi Runnable dan menyediakannya kepada PM ketika tugas memanggil exec () (AVR adalah CPU arsitektur Harvard, OS tidak dapat memuat biner dan membakarnya ke dalam memori program Flash)
Pengemudi:
- TTY_USART0: Driver TTY yang digerakkan interupsi untuk perangkat USART 0
- memfile: perangkat drive memori dengan manajemen inode
- Pipedev: Pipa Perangkat (multi-baca, multi-write)
DOC: Dokumentasi (Lihat dengan dia: https://wiki.gnome.org/apps/dia/)
LIB: SRC/QUEUE.C: Daftar Ditautkan Ganda