در واقع این سیستمهایعامل شبیه به یک صفحه وب در مرورگر کاربر ظاهر میشوند. بهطور معمول سعی میشود تا محیط آنها شبیه سیستمعاملهای کنونی طراحی شود تا کار با آنها به آسانی کار با یک سیستمعاملی که روی رایانههای خانگی نصب شده، باشد. در دسکتاپ آماده شده هسته هر بخش میزکار نرمافزار مخصوص خود را دارد که از جاوااسکریپت برای ارسال عملیات سرور از طریق جاوااسکریپت استفاده میکند. این عملیات که همزمان با عملیات ایجکس پیاده می شوند (مثل باز کردن یک نرمافزار) حالتهای اتفاق داده را برای سرور ارسال میکنند. در ادامه سرور نتیجه آن عملیات یا وظیفه را با فرمت اکسامال به سمت کاربر میفرستد. در بخش سرور از فایلهای اکسامال برای ذخیره اطلاعات استفاده میشود. رویکرد فوق فرآیند دسترسی به سیستمعامل را برای کاربر تسهیل میکند و اجازه میدهد کاربر فقط موارد موردنیاز را پیکربندی کند. در این مکانیزم اطلاعات هر کاربر در فایلهای مختلف ذخیره میشود و بدین ترتیب، احتمال بروز مشکل عدم دسترسی به منابع منتفی میشود. این سیستمعاملها بیشتر مورد توجه علاقهمندان به رایانش ابری است. هدف از ساخت سیستمعاملهای وبمحور دسترسی ساده به سیستمعامل است. تنها نیازمندی برای استفاده از این سیستمعامل مرورگر وب است. سیستمعامل وبمحور بر مبنای معماری کلاینت – سرور کار میکند که سیستمعامل به عنوان سرور و کلاینتها مرورگرهای اینترنتی هستند.
محیط گرافیکی سیستمعاملهای وبمحور
بهطور معمول، توسعهدهندگان در هنگام طراحی محیط گرافیکی سیستمعاملهای وبمحور جهت برقراری ارتباط میان کاربر با سیستم، محیط را شبیه به یکی از سیستمعاملهای رایج طراحی میکنند تا روند کار با سیستمعامل ساده شود.
اوپن استک
اوپن استک (OpenStack) یک زیرساخت نرمافزاری متن باز برای رایانش ابری است که تاکنون بیش از 500 شرکت بزرگ جهان همچون آیبیام، فوجیتسو، اوراکل، یاهو، سیتریکس، دل، اینتل، اچپی، سیسکو سیستمز و بسیاری دیگر به آن پیوستهاند. OpenStack یک پروژه رایانش ابری است که به تجهیز زیرساختی متن باز و قابل دسترس در همه جا برای ابرهای شخصی و عمومی کمک میکند. این پروژه توسط بنیاد OpenStack Foundation مدیریت میشود که یک بنیاد غیرانتفاعی است. اپن استک به کاربران اجازه میدهد تا بتوانند ماشینهای مجازی و دیگر نمونهها برای کنترل وظایف گوناگون در مدیریت یک محیط ابری در حال اجرا را توسعه دهند. این مجموعه ابزار گسترش افقی را آسان میکند به این معنی که وظایفی که از اجرای همزمان سود میبرند، میتوانند در زمان اجرا، به آسانی با تنظیم نمونههای متفاوت، به کاربران بیشتر یا کمتری خدمات ارائه دهند. بهطور مثال، یک اپلیکیشن موبایل، که باید با یک سرور از راه دور ارتباط برقرار کند، میتواند کار ارتباطی خود را با کاربران دیگر در طول نمونههای مختلف، تقسیم کند که همه اینها با سرعت و به آسانی با یکدیگر در ارتباط خواهند بود؛ و مهمتر از آن، اپن استک یک ابزار متن باز است، به این معنی که هر فردی که آن را انتخاب کند، میتواند به کد منبع آن نیز دسترسی داشته، هر تغییر یا اصلاحی را که مورد نیاز است، اعمال کند و به صورت رایگان، تغییرات اعمال شده را در سطح وسیعتری به اشتراک بگذارد. متن بازبودن آن نیز این امکان را هم میدهد که هزاران توسعه دهنده در سرتاسر جهان میتوانند بر روی آن کار کنند و مجموعه نرمافزاری با ویژگیهای قوی تر و امن تر تولید کنند.
اوپن استک چگونه کار میکند؟
ابر در واقع فراهم کردن محیطی محاسباتی برای کاربران پایانی از راه دور است، به صورتی که نرمافزارها به عنوان یک سرویس بهجای اینکه روی کامپیوترهای کاربران اجرا شوند، روی سرورهای قابل اعتماد و توسعه پذیر اجرا میشوند. محاسبات ابری میتواند چیزهای دیگری را هم شامل شود ولی معمولاً منظور اصلی، اجرای مولفههای مختلف مانند نرمافزارها و زیرساختها به عنوان سرویس است. اپن استک در واقع یک زیرساخت به عنوان سرویس توصیف میشود. فراهم کردن زیرساخت به این معنا است که کاربران با استفاده از اپن استک، به آسانی میتوانند نمونههای جدید اضافه کرده، و مؤلفههای دیگر ابر را روی آنها اجرا کنند. بهطور معمول، این زیرساخت یک پلتفرم را اجرا میکند که توسعهدهنده روی آن میتواند اپلیکیشنهای نرمافزاری را ایجاد کند و به کاربران پایانی خود خدمات ارائه دهد. اپن استک یک فناوری مجازیساز یا هایپرویزور نیست، بلکه روی فناوریهای مجازیساز پیادهسازی میشود تا کاربر بتواند منابع را به بهینهترین شکل ممکن کنترل و استفاده نمایید. نکته جالب در این است اوپن استک منحصر به یک اپلیکیشن یا سختافزار ویژه نیست. بنابراین قابل پیادهسازی روی کلیه فناوریهای مجازیساز رایج همچون kvm، xen، open-vz، Hyper-V، vSphere است. از مهمترین مولفههای اوپناستک میتوان به Nova (موتور محاسباتی اصلی اپن استک است که برای توسعه و مدیریت ماشینهای مجازی و کنترل وظایف محاسباتی استفاده میشود.)، Swift (سوئیفت، یک سامانه ذخیرهسازی اشیا و فایلها است.)، Cinder (یک مؤلفه ذخیرهسازی بلاک است)، Neutron (قابلیت شبکهسازی برای اپن استک را فراهم میکند. این ویژگی به هر مؤلفه زیرساخت اوپن استک کمک میکند تا بتواند با سایرین به شکل کارآمد ارتباط برقرار کند.)، Horizon (یک پنل کنترلی برای اوپن استک است. این پنل تنها رابط گرافیکی اوپن استک است که به کاربران اجازه آزمایش آنرا میدهد. توسعهدهندگان میتوانند به تمام مؤلفههای اپن استک از طریق واسطهای کاربردی برنامهنویسی دسترسی پیدا کنند، اما این پنل کنترلی قابلیت در اختیار مدیران قرار میدهد تا نگاهی سریع به کل سیستم ابری داشته باشند و آنرا مدیریت کنند.)، Keystone (این ابزار در واقع سرویسهای هویت را برای اوپن استک فراهم میکند. این سرویس، ابزارهای دسترسی چندگانه فراهم میکند)، Glance (وظیفه این مولفه، ارائه سرویس ایمیج در اوپن استک است. ایمیجها میتوانند در زمان توسعه یک نمونه ماشین مجازی جدید به عنوان الگو استفاده شوند.) و Trove (بانک اطلاعتی به عنوان سرویس را به عنوان موتور پایگاهداده رابطهای (بر پایه SQL) و غیر رابطهای (NoSQL) را برای واپناستک فراهم میکند.) اشاره کرد.