马列维奇 – 我们如何打造一个体现简约理念的系统 (2017)
OS Malevich – how we made a system that embodies the idea of simplicity (2017)

原始链接: https://www.ajax-systems.uz/blog/hub-os-malevich-story/

Ajax Security 发布了 OS Malevich,这是其 Hub 的全新操作系统,相较于前代产品实现了显著的飞跃。最初的 Hub 基于可靠的实时操作系统 (RTOS) 构建——这对于需要稳定性能的安全系统至关重要——但它在快速扩展用户和市场需求的功能方面面临局限性。 虽然 C 编程和 Linux 等选项存在,但它们在开发时间、可靠性或安全性方面存在权衡。OS Malevich 通过融合 RTOS 的稳定性和高级系统的可扩展性来解决这些挑战。 该新操作系统拥有模块化架构、高效的资源管理(仅利用 20% 的处理器容量)以及标准化的 API,以简化开发并加速所有 Ajax 平台(Hub、服务器和应用程序)的新功能实施。这使得 Ajax 能够快速响应不断变化的安全需求,并集成直接连接和复杂自动化场景等高级功能,最终巩固其在专业安全市场的地位。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 OS Malevich – 我们如何打造一个体现简洁理念的系统 (2017) (ajax-systems.uz) 3 分,来自 frxx 2 小时前 | 隐藏 | 过去 | 收藏 | 讨论 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:
相关文章

原文

A year ago, we set out on a difficult task. We wanted to preserve the best parts of the existing Ajax Hub operating system while removing any weaknesses and laying a solid foundation that would allow us to further develop the Ajax security system. After all, the hub is like a brain trust. It needs to be the most exceptional and reliable link in the chain. Thousands of engineering hours, hundreds of iterations and several elegant software solutions led us to OS Malevich. It’s not just another update. It’s a completely new hub operating system.

Once you’ve reached a dead end, don’t be afraid to turn back

Three years ago, we decided to create an intelligent security management center— Ajax Hub. We wrote out the technical requirements and began to think about how to do it. There were three options— use C, use a real-time operating system or use Linux.

new_os_15

A typical C program that would ensure the absolute control as an operating system since we would have written every component of the system ourselves. The trade off was that the project would have taken a long time, its scalability would have been poor and it would have required a lot of debugging.

Linux offered a lot of ready-made solutions, as well as the possibility of parallel and, therefore, rapid development. We would be able to program in high-level languages, make use of abstractions and build a more complex application. But at the same time, we would have vulnerabilities, we wouldn’t have time limits for operations and we often wouldn’t have the best drivers. This would be unacceptable— we sell safety and reliability.

So we chose a real-time operating system (RTOS). It gave us the opportunity to create a simultaneously multifunctional and reliable application. Real-time operating systems are used in elevators, car brakes and ballistic missiles. They are maximally reliable, because, if a mechanism does not work within a strict timeframe, then the event no longer makes sense and a catastrophe occurs. This is a key difference between RTOS and Linux, where operations wait in an execution queue. And this is one of the reasons why Linux isn’t used in professional security systems.

Development took a year and a half. We created an OS that supports advanced cloud communication protocols over several channels. It manages a network of hundreds of radio devices. It can simultaneously send alarm messages over IP channels, dial telephones and send SMS. It possesses all needed professional security system capabilities and protects from attacks. So, we were able to accomplish our initial goal. We provided extensive functionality while ensuring high reliability.

new_os_02 (2)
But as soon as the Hub was released, there was a wave of requests for new features. Security companies asked for a direct connection to the hub, bypassing our cloud. Our Norwegian partners wanted one fire detector to be able to set off all fire detectors in a system when it detected a fire, and they wanted that to happen with the speed of wire fire alarms. The German market demanded that the product meet Grade 2 European standards and support a security system keyboard. In Malaysia and Denmark, users wanted extensive home automation capabilities. For Italy, a separate role for installers was very important.

Socket

Wireless smart plug with energy monitor

Learn more

Relay

Wireless low-tension dry contact relay

Learn more

WallSwitch

Wireless power relay with energy monitor

Learn more

FireProtect

Wireless smoke & heat detector with sounder

Learn more

FireProtect Plus

Wireless smoke, heat, and carbon monoxide detector with sounder

Learn more

The existing architecture did not allow us to expand functionality rapidly. We could quickly add features to the mobile applications because they had high-level development environments, but writing hub software required more time. Changes were difficult to test and implementing them required too many resources. In order to build complex logic, we needed a new level of abstraction, a separation between hardware and software.

We had to decide how to build the system further. Did we need to switch to Linux? Gradually refine our OS? We needed to maintain the reliability and stability of the real-time operating system, but at the same time, we needed the scalability of a high-level operating system like Linux. Once again, the ready-made solutions didn’t work for us, so we had to come up with our own.

Simplicity only has value if it’s rooted in complexity

The basis of our new OS was the idea of simplification. We set conditions for ourselves: adding features should not complicate the system or reduce development speed. In order not stray off course, the project was codenamed “Malevich,” in honor of the famous Kyiv-born artist, Kazimir Malevich. His “Black Square” is a vivid example of a brilliant idea based in infinite simplicity.

new_os_12
In order to create OS Malevich, we had to change everything— the architecture, the programming approach, the coding and design standards, the organization of work, the development environment. Although the operating system continued to focus on process execution time, it started gaining features of Linux. We implemented a similar mechanism for allocating CPU time. As a result, the hub processor uses a maximum of 20%, even when performing resource-intensive tasks. The system also became modular; standard APIs are used to allow interaction between elements. It’s easy to work with modules, errors can be quickly identified and eliminated, and it’s simple to increase functionality and experiment to reach the ideal efficiency.

We set Ajax products equal in terms of development speed. We can implement new features for the hub, server and app equally quickly. There are no technical limitations to our ideas.


Hub updating procedure


As of today, a computer program is not usually considered an art object. Its beauty is not understood by the masses. But we’re confident that, over time, the ideas we’ve implemented will become a classic in the Internet of things.

Read more:

联系我们 contact @ memedata.com