برای دیگر کاربردها Flex (disambiguation) را ببینید.با FLEX (operating system) یا FlexOS اشتباه نشود.**سیستم کامپیوتری فلکس** توسط مایکل فاستر و یان کوری از موسسه سیگنال‌ها و رادار سلطنتی (RSRE) در مالورن ، انگلستان، در اواخر دهه 1970 و 1980 پایه گذاری شد. این سیستم از یک طرح ذخیره‌سازی برچسب‌گذاری شده برای پیاده‌سازی معماری قابلیت استفاده می‌کرد و برای اجرای ایمن و بهینه سازی شده رویه‌های نوشته شده قوی طراحی شده بود.

سخت‌افزار قابل تغییر و قابل ریزبرنامه‌ریزی بود، با یک سیستم عامل، کامپایلر (مژولار)، ویرایشگر، بازیافت حافظه و فایل سیستم که همه با ALGOL 68RS نوشته شده بودند.

(حداقل) دو تجسم ازفلکس وجود داشت که با استفاده از سخت افزار با ریزبرنامه سازی قابل نوشتن، پیاده سازی شدند. اولین مورد توسط لاجیکا به یک طرح RSRE ارائه شد،  و دومی از یک ICL PERQ استفاده کرد.   میکروکد به تنهایی مسئول تخصیص حافظه، توزیع و بازیافت حافظه بود. این بلافاصله از یک کلاس کامل با خطا (خطا های ناشی از استفاده نادرست (عمدی یا تصادفی)) از اشاره گرها جلوگیری کرد.

یکی از ویژگی های قابل توجه Flex، ذخیره فایل با قابلیت یکبار-نویس و برچسب گذاری شده است. این اجازه می دهد تا کد دلخواه و ساختارهای داده به صورت شفاف، بدون توسل به رمزگذاری های خارجی، نوشته و بازیابی شوند. بنابراین داده ها می توانند به طور ایمن از برنامه ای به برنامه دیگر منتقل شوند.

مشابه همین روش، قابلیت‌های راه دور به داده‌ها و رویه‌های بر دیگر ماشین‌ها این اجازه را می‌داد که از طریق اتصال یک شبکه، بدون اینکه برنامه کاربردی در رمزگذاری‌های خارجی داده‌ها صورت گیرد، پارامترها یا مقادیر نتیجه درگیر باشد، به داده‌ها و رویه‌ها دسترسی پیدا کرد.

کل این طرح اجازه می‌دهد تا انواع داده‌های انتزاعی به‌شکلی امن پیاده‌سازی شوند، زیرا آیتم‌های داده و رویه‌های مجاز برای دسترسی به آن‌ها می‌توانستند با هم متصل شوند، و قابلیت به دست آمده آزادانه به بقیه بخش ها منتقل می‌شود. این قابلیت دسترسی به رویه ها را اعطا می کند، اما به هیچ وجه نمی تواند برای دسترسی به داده ها استفاده شود.

یکی دیگر از ویژگی های قابل توجه Flex، مفهوم اشاره گرهای لرزان بود که اغلب به عنوان مرجع ضعیف نامیده می شود و به بلوک هایی از حافظه اشاره می کند که می توانند در بازیافت حافظه بعدی آزاد شوند. این برای مثال برای بلوک‌های دیسک کش یا فهرستی از پشته تماس رویه اضافی استفاده می‌شود. 

COMFLEX، یک شبکه سوئیچینگ بسته که قادر به انتقال داده با سرعت دیسک مغناطیسی است، که در کنار Flex توسعه یافته است. استفاده از فایل‌های ذخیره‌سازی دوردست، قابلیت‌های فراخوانی رویه ای دودست را امکان‌پذیر کرد.

همچنین ببینید
-------------

* کامپیوتر اتوماتیک استقرار رادار سلطنتی
* تن 15
* PS-algol

منابع
-----

1. ↑  *Terry, Phil F.; Wiseman, Simon R. (June 1988). On The Design And Implementation Of A Secure Computer System. Royal Signals and Radar Establishment. RSRE Memorandum No. 4188*.
2. ↑  *Foster J M, Moir C I, Currie I F, McDermid J A, Edwards P W (October 1979). An Introduction to the FLEX Computer System. Royal Signals and Radar Establishment. Report No 79016. Archived from the original on 20 July 2018. Retrieved 12 February 2018*.
3. ↑  *Foster J M, Currie I F, Edwards P W (July 1982). Flex: A Working Computer with an Architecture Based on Procedure Values (Report). Royal Signals and Radar Establishment. RSRE Memorandum No. 3500. Retrieved 12 February 2018*.
4. ↑  *Tombs, D. J.; Bruce, D. I. (November 1991). The Evolution of Ten15. Royal Signals and Radar Establishment. Archived from the original on 24 September 2015*.
5. ↑  *Currie I F, Foster J M, Edwards P W (December 1985). PerqFlex Firmware (Report). Royal Signals and Radar Establishment. Report No 85015. Retrieved 6 February 2018*.
6. ↑  *McDermid, J.A. (November 1980). "Design and use of Comflex - a hardware-controlled packet switch". IEE Proceedings E - Computers and Digital Techniques. 127 (6): 233 Retrieved 12 February 2018*.

بیشتر خواندن
------------

* Martin C. Atkins: An Introduction to Ten15 - A personal retrospective (includes a section about RSRE's Flex)

| * v
* t
* e

امنیت قابلیت-شئ |
| --- |
| مفاهیم | * Principle of least privilege (PoLP)
* [./ Confused deputy problem]
* [./ Ambient authority]
* File descriptor
* [./ C-list]
* [./ Object-capability model]
* [./ Capability-based security]
* [./ Capability-based addressing]
* Zooko's triangle
* [./ Petnames]
 |
| سیستم های عامل ، هسته ها | * [./ Capsicum]
* Fuchsia
* [./ Genode]
* [./ GNOSIS] → [./ KeyKOS] → [./ EROS] → [./ CapROS]
* [./ Hydra]
* [./ iMAX 432]
* [./ Midori]
* [./ NLTSS]
* seL4
 |
| زبان های برنامه نویسی | * [./ Cajita]
* [./ E]
* [./ Joe-E]
* [./ Joule]
 |
| سامانه فایل بندی | * [./ Tahoe-LAFS]
 |
| سخت افزار تخصصی | * [./ BiiN]
* [./ Cambridge CAP]
* Flex
* [./ IBM System/38]
* [./ Intel iAPX 432]
* [./ Plessey System 250]
 |