All Projects → iBreaker → Os One

iBreaker / Os One

Licence: gpl-3.0
一个自制的树莓派操作系统

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Os One

Dgos
Operating System
Stars: ✭ 90 (-31.82%)
Mutual labels:  kernel, operating-system
Serenity
SerenityOS is a love letter to '90s user interfaces with a custom Unix-like core. It flatters with sincerity by stealing beautiful ideas from various other systems.
Stars: ✭ 16,842 (+12659.09%)
Mutual labels:  kernel, operating-system
Reactos
A free Windows-compatible Operating System
Stars: ✭ 10,216 (+7639.39%)
Mutual labels:  kernel, operating-system
Zeke
A POSIX-like OS for ARM processors.
Stars: ✭ 79 (-40.15%)
Mutual labels:  kernel, operating-system
Build
Armbian Linux build framework
Stars: ✭ 1,827 (+1284.09%)
Mutual labels:  kernel, operating-system
Deos
The distributed exokernel operating system
Stars: ✭ 80 (-39.39%)
Mutual labels:  kernel, operating-system
Core
Ultibo Core
Stars: ✭ 102 (-22.73%)
Mutual labels:  raspberrypi, kernel
Toaru Nih
NOTICE: The ToaruOS-NIH Project has been MERGED UPSTREAM. This repository is now archived.
Stars: ✭ 66 (-50%)
Mutual labels:  kernel, operating-system
Aura Operating System
AuraOS, the Franco-English Operating System developed in C# using Cosmos!
Stars: ✭ 111 (-15.91%)
Mutual labels:  kernel, operating-system
Tofita
🍬 All-new kernel for @GreenteaOS
Stars: ✭ 112 (-15.15%)
Mutual labels:  kernel, operating-system
Tomatos
A 64bit tomato kernel
Stars: ✭ 75 (-43.18%)
Mutual labels:  kernel, operating-system
Emerald
An operating system written in C
Stars: ✭ 118 (-10.61%)
Mutual labels:  kernel, operating-system
Harmonyos
鸿蒙系统资料。Docs about HarmonyOS.
Stars: ✭ 1,191 (+802.27%)
Mutual labels:  kernel, operating-system
Theseus
A modern experimental OS written from scratch in Rust to explore novel OS structure, state management techniques, and how to maximally leverage the power of language by shifting OS responsibilities into the compiler.
Stars: ✭ 1,273 (+864.39%)
Mutual labels:  kernel, operating-system
Sparrow
My Operating System.
Stars: ✭ 71 (-46.21%)
Mutual labels:  kernel, operating-system
Boneos
💥 BoneOS Kernel and Operating System Source Tree
Stars: ✭ 96 (-27.27%)
Mutual labels:  kernel, operating-system
Dennix
Dennix is a unix-like hobbyist operating system written from scratch.
Stars: ✭ 53 (-59.85%)
Mutual labels:  kernel, operating-system
Skift
🥑 A simple, handmade, operating system with a graphical user interface.
Stars: ✭ 1,068 (+709.09%)
Mutual labels:  kernel, operating-system
Jingos
JingOS - The World’s First Linux-based OS design for Tablets
Stars: ✭ 101 (-23.48%)
Mutual labels:  kernel, operating-system
Raspberry Pi Os
Learning operating system development using Linux kernel and Raspberry Pi
Stars: ✭ 11,000 (+8233.33%)
Mutual labels:  kernel, operating-system

OS One

一个自制的树莓派操作系统,OS One 这个名字来自于电影 《Her》。

特性

  1. 提供 GPIO 处理函数;
  2. GUI 界面,有窗体 demo, 窗体可对鼠标操作做出相应;
  3. 默认分辨率 1440×900;
  4. 可显示 bmp 24 位色(true color)图片;
  5. 支持鼠标键盘输入设备;
  6. 多任务,默认最多 16 个任务;
  7. 时间片轮转调度;
  8. 任务间通信;
  9. 任务阻塞,挂起;
  10. 支持动态申请内存;
  11. 系统最多支持 255 个 timer 定时器;
  12. 支持 UART 通信。

编译

硬件:Raspberry Pi B+ (其他版本树莓派没有测试)
Host:Linux version 3.13.0-44-generic ([email protected]) #73-Ubuntu SMP Tue Dec 16 00:22:43 UTC 2014
工具链arm-none-eabi- V4.8.2

kernel.img

make = make kernel.img -编译最终产生的 kernel.img
make clean -清理项目
make install -将 kernel.img 复制到 SD 卡,复制之前确认请修改 Makefile 里的设备名称和路径

minocom for OS One

树莓派输入设备(鼠标键盘)用串口通信,所以必须运行串口程序。
make,然后 make install <千万不要./configure !!!>。

使用

  1. 接上树莓派串口线,两个 LED 灯分别连接到 GPIO16 和 GPIO19。这两个等会显示内核状态信息(不接这两个 LED 不影响系统运行);
  2. 编译运行 minocom for OS One;
  3. 编译 kernel.img 并复制到 SD 卡,覆盖原来的 kernel.img (原来的 kernel.img 要备份);
  4. 加电运行;
  5. 可以试着移动鼠标,拖动窗口;
  6. 屏幕左上角显示 Task1 和 Task2 的通信状态;
  7. 屏幕右上角显示四个 Timer 的状态;
  8. 窗口显示 kernel status。分别有任务栈适用情况,鼠标键盘状态,空闲堆内存大小;
  9. 可以试着按键,窗口上 input status 中的 key 会显示按键的 ASCII 码;
  10. 移动鼠标,单机右击窗口都有显示。

已知漏洞

暂无。

参考资料

  1. 《操作系统设计 Xinu 方法》
  2. 《30 天自制操作系统》
  3. 《嵌入式实时操作系统 uc/os III》
  4. 《linux 内核设计的艺术》
  5. 《Linux 0.01 内核分析与操作系统设计》  

项目主页OS One 主页
GitHub(国外)https://github.com/iBreaker/OS-ONE.git
Coding(国内)https://coding.net/breaker/OS-ONE.git

Breaker
[email protected]
2015-03-12 15:05:14

效果预览

  • 下面的是树莓派,没有写好显示驱动的时候就用那个灯调试。因为树莓派的输出只有这个灯,通过这个灯的亮灭来判断要被调试的某个值的大小。树莓派通过 HDMI 线和显示器连接。开发环境 backtrack5:

https://pic.0x7c00.cn/OS-One/1.jpg

  • 实现简单的 UI 库后,做出的一个 360 风格的窗口:

https://pic.0x7c00.cn/OS-One/1.jpg

  • 简单的进程管理器,显示当前多进程的信息,以及内存和鼠标键盘的状态:

https://pic.0x7c00.cn/OS-One/1.jpg

  • 同上: https://pic.0x7c00.cn/OS-One/1.jpg

  • 同上,秀一秀鼠标箭头:

https://pic.0x7c00.cn/OS-One/1.jpg

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].