posts - 46, comments - 92, trackbacks - 0, articles - 2
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

公告

我心目中的最好操作系统臆想

Posted on 2015-02-08 18:54 xuld 阅读(...) 评论(...) 编辑 收藏

作为个人,开发一个操作系统是几乎不可能的。虽然目前没有机会参与操作系统的开发,但是我对设计一个操作系统还是很有兴趣的。

未来我所想象的操作系统,应该满足以下需求:

1. 一个操作系统,多个平台硬件。

早期操作系统就是为了整合硬件平台、方便软件开发而出现的。现在很多操作系统都已忘初心,将大部分精力放在更有市场的软件上的。未来的操作系统,应该可以整合不同的配置的平台和硬件,包括服务器、普通电脑、平板电脑、手机甚至包括手表等智能设备。不同的设备对系统的要求可能不同,操作系统可以提供针对不同平台的版本,但是基于此操作系统开发的软件可以做到一次开发,多平台执行。

不同的平台意味着有不同的用户体验和输入方式。操作系统应该明确自己所在的平台并针对当前平台做更细致的体验优化。

2. 操作系统主要功能模块。

操作系统应该主要负责硬件交互、进程管理、安全控制和应用管理。整个操作系统应该移除很多不需要的功能,保证安装包是量小的。其中,硬件交互主要包括输入设备(如键盘、鼠标、触屏、摄像头、麦克风)管理、输出设备(如屏幕、声音)管理、网络设备管理。并且预留接口方便第三方硬件的加入。

应用管理是操作系统级别的一个功能。包括用户最常使用的桌面也都称为一个应用。用户有权利负责卸载桌面。

如果一个操作系统不包含任何应用。那么,用户只能进行鼠标移动、添加和移除应用、开机和关机这些和硬件自身有关系的操作。而不能用于上网、听歌、拍照等现代化操作。

3. 应用(软件)

应用是操作系统的核心。操作系统本身应该是一个幕后的进程管理者,它是无界面和功能的。所有用户可以看到的界面功能都是依赖于应用实现的。

操作系统可以将应用分为三个等级。

第一等级是直接和硬件交互的应用。这一类应用不受操作系统控制,将直接占用CPU执行。这类应用主要用于安装和修复操作系统本身。

第二等级是系统管理的应用。这一类应用一般是系统内置应用且无法卸载,它们有权限负责管理硬件和操作系统本身,恶意的应用可能导致操作系统停止工作。比如应用管理软件、任务查看器、杀毒软件等都属于这一类应用。

第三等级是上层应用。这一类应用有权限使用用户的设备资源,比如文件读写、网络设备、摄像头等资源,但是它们只能使用属于自己的资源,而无法读取或修改其它应用。用户可以根据需要为这一等级的应用设定信任度,信任度低的应用如果需要使用涉及隐私的资源,则需要向用户申请。大部分日常使用的软件,如浏览器、计算器、游戏等软件,都属于这个级别的应用。
操作系统可以内置一些必备的应用以方便用户操作,但是这些内置应用必须可以完全被用户替换。操作系统应该内置的应用有:桌面、启动菜单、通知条、控制台(任务栏)、浏览器、输入法、应用商店、系统设置、网络连接工具、屏幕键盘、计算器、备忘录、闹钟、视频播放器、音乐播放器、文件浏览器、 办公文档查看器、相机、图片查看器等基本应用。所有应用都可以预设在后台长期运行,或者在某个特定事件后触发后台执行。但是所有后台执行的程序必须经过用户同意或者通过已具有这些权限并具有授权权限的应用授权。这个设定将可以避免应用在不知情的情况下在后台偷偷执行,浪费电力和网络资源。

 

整个用户的硬盘,看起来将是这个结构:/硬盘跟目录1/系统//硬盘跟目录1/应用1//硬盘跟目录1/应用2//硬盘跟目录1/文档
其中,每个应用都被安装在独立的文件夹,它们互相不干扰,也不能互相共享文件。系统文件夹包括系统本身所需全部文件。文档文件夹包括用户自己使用的各个文档数据,文档文件夹下的数据可以被任何应用授权读写。应用有权分享自己的文档或数据,并且能指定分享的目标应用。但是应用不能主动读写其它应用的数据。
每个应用的文件夹下的内容格式都统一为:App1/Bin/ 应用文件本身App1/Data 应用需要的数据和配置App1/Temp 应用需要的缓存文档文件夹下默认可包含:图片、音乐、视频、文档、杂项,用户也可以清空默认设置自定义文档保存方式。4. 接口
操作系统应该提供公共运行库,方便应用开发,并且应用之间可以互相调用和传递数据。