سادگی زیباست...

بررسی انواع معماری های سیستم عامل و برنامه های سیستمی و روشهای توسعه آنها

سادگی زیباست...

بررسی انواع معماری های سیستم عامل و برنامه های سیستمی و روشهای توسعه آنها

سادگی زیباست...

۵ مطلب در آبان ۱۳۹۲ ثبت شده است

سیستم OpenStack یک مجموعه از نرم افزارهای ابری است که توانایی اجرا بر روی سیستم های عادی را دارد. این سیستم برای اجرا به سخت افزار خاص یا پیش نیاز نرم افزاری خاصی نیاز ندارد و میتواند با محصولات دیگر هماهنگ شده و کارایی مناسبی دارد. به عنوان دیگر میتوان گفت این محصول میتواند به عنوان زیرساخت یک سازمان استفاده شود.

این سیستم در ابتدا توسط سازمان NASA و RackSpace توسعه پیدا کرد و اولین انتشار آن در سال 2010 بوده است. این محصول از ابتدا برای استفاده عمومی بوده و به صورت متن باز عرضه شده است.

کلود چیست؟

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

سرویس های ابری میتواند به صورت خصوصی و به صورت عمومی مانند amazon ec2 باشد. میتوان سرویسهای ابری خصوصی و عمومی را با یکدیگر ترکیب کرد. برای مثال میتوان داده های مهم را در محیط ابری خصوصی نگه داری کرد. تمامی منابع امکان اشتراکی سازی بر روی فضای ابری را دارا میباشند. مدلهای اصلی سرویس ارائه شده به صورت زیر است:

  •  SaaS - Software as a Service
  • PaaS - Platform as a Service
  • IaaS - Infrastructure as a Service
نرم افزار به عنوان سرویس (SaaS) شامل یک کاربرد سرویس دهنده مرکزی است که از طریق کاربردهای سمت مشتری قابل دستیابی است، داده ها در سمت سرویس دهنده نگه داری میشود و از هر مکانی قابل دستیابی است.ایس معماری مشابه معماری سیستم های قدیمی است که به صورت مشتری-خدمت گذار بوده است، اما در این معماری جدی، تمامی کاربرد از طریق کاوشگر وب عرضه میشود. معماری SaaS توسط تولید کنندگان نرم افزار بسیار مورد استفاده قرار میگیرد، دلیل این امر کاهش هزینه پشتیبانی نرم افزار، افزایش قدرت کنترل بر روی سیستم، و همچنین قابلیت پشتیبانی سطح آخر میباشد. این مدل برای مشتری نیز به دلیل عدم وجود مشکلات نصب و راه اندازی بهتر میباشد.

PaaS یک انتخاب مناسب برای سازمانهایی است که خواهان کنترل بیشتری بر روی پایگاه داده (datacenter) خود میباشند امامشکلات ناشی از مدیریت شبکه و سیستم ها را نمیخواهند (یا نمیتوانند) مدیریت کنند. یک مثال برای این سیستم ها، سرویس ابری میزبان سرور وب میباشد که سازمان فراهم کننده سرویس ابری، مدیریت سخت افزار، سیستم عامل، شبکه، میزان بار کاری، تنظیم میزان بار کاری (load balancing)  و مدیریت پشتیبان گیری و دیگر مسائل را بر عهده دارد. فراهم کننده سرویس، برای مشتری راه اندازی و پیکربندی سرویس های مورد نیاز را فراهم میکند.

IaaS یک سیستم مجازی در اختیار مشتری قرار میدهد و مدیریت سخت افزار و نرم افزاری این سیستم به عهده مشتری است. سرویس دهنده در این مدل، مدیریت خود سیستم سخت افزاری و منبع انرژی و مسائل نگه داری سخت افزار را بر عهده دارد.

 واکاوی OpenStack
ساختار هسته openstack شامل اجزای زیر است:
  • OpenStack Compute: ماژول مدیریت و فراهم آوردن ماشین مجازی است. این ماژوا با عنوان Nova شناخته میشود. این ماژول ناظرهای (hypervisor)،از قبیل KVM, QEMU, LXC و XenServer  را پشتیبانی میکند. این ماژول کنترل تمامی بخشهای: شبکه بندی، پردازشگر، ذخیره سازی، حافظه اصلی، ساخت ، کنترل و حذف ماشین های مجازی، امنیت و کنترل دسترسی را بر عهده دارد. این مدیریت میتواند از طریق خط فرمان یا محیط گرافیکی وبی انجام شود.
  • OpenStack Glance: مدیریت سرویس ایمیج (image) سیستم openstack را بر عهده دارد. این زیر سیستم ایمیج های ماشین مجازی از قبیل Raw, Hyper-V, Virtual Box, QEMU/KVM و VMware(VMDK,OVF) را پشتیبانی میکند.
  • OpenStack Object Store: همانگونه که از نام این سرویس مشخص است، مدیریت ذخیره سازی را بر عهده دارد. به منظور قابلیت ذخیره سازی در تمام فرمتهای مورد نیاز، این زیر سیستم به صورت توزیع شده است. چندین لایه افزونگی و تکرار خودکار به منظور جلوگیری از پاک شدن داده ها وجود دارد و بازگردانی داده ها به صورت خودکار انجام میشود.
۲ موافقین ۰ مخالفین ۰ ۲۷ آبان ۹۲ ، ۱۶:۵۱
حامد شیخلو

در این پست، تمرینات هر جلسه قرار داده خواهد شد و زمان تحویل هر کدام نیز مشخص میشود

  • تمرینات سری چهارم:

1. تمرینات فصل دوم کتاب سیلبرشاتس، ویرایش 9. تمرینات شماره:
1,2,3,4,7,8,13,15,16,18,21,22,23

2. توضیح در مورد تکنولوژی IaaS، SaaS، PaaS

3. مساله برنامه نویسی: تمرین برنامه نویسی شماره 26 از کتاب سیلبرشاتس را انجام دهید (بعد از تمرینات کتاب، تمرینات برنامه نویسی قرار دارد).

آخرین زمان تحویل، جلسه یکشنبه، 26 آبان

  • تمرینات سری پنجم

1. تمرین برنامه نویسی: نوشتن یک برنامه رابط کاربری متنی مشابه شل لینوکس
رابط کاربری اصلی سیستم عامل لینوکس، متنی است که به عنوان ترمینال شناخته میشود. در این رابط کاربری کاربر نام برنامه مورد نظر خود را وارد میکند و محیط کاربری آن برنامه را همراه با پارامتر های مربوطه اجرا میکند. برای مثال به منظور لیست کردن محتوای یک فایل متنی از برنامه cat استفاده میشود، در رابط کاربری دستور زیر وارد میشود:
$cat <file name>

با وارد کردن این دستور، برنامه شل، برنامه cat را همراه با پارامتر آن (در اینجا نام فایل) فراخوانی میکند. بعد از اجرای برنامه منتظر دستور دیگری از ورودی میشود.

برنامه نوشته شده باید دارای ویژگی های زیر باشد:

  1. از کاربر نام برنامه را بگیرد و آن برنامه را اجرا کند
  2. قابلیت دریافت پارامتر های برنامه را داشته باشد
  3. بعد از اتمام اجرای برنامه منتظر دستورات جدید باشد
  4. دستور تغییر شاخه cd را بتواند اجرا کند
  • تمرینات سری ششم

1. تفاوت ها و شباهت های مفاهیم زیر را عنوان کنید:
MultiCore, ManyCore, MultiProcessor, Distributed System

2. تمرین برنامه نویسی:

یک برنامه به زبان سی یا هر زبان دلخواه دیگر دز محیط لینوکس بنویسید و سیگنال CTRL+C (در حالت عادی از برنامه خارج میشود) را در آن مدیریت کنید (مثلا یک پیغام چاپ کند)

3. در مورد نحوه مدیریت نخ های پردازشی در زبان جاوا تحقیق کنید.

(زمان امتحان میان ترم-چهارشنبه 20 آذر ماه- مواد امتحانی شامل 5 فصل اول کتاب سیلبرشاتز میباشد و منبع امتحانی کتاب سیسلبرشاتز و اسلاید های کتاب استالینگز میباشد)

  • تمرینات سری هفتم

1. تمرینات فصل چهارم کتاب سیلبرشاتس، ویرایش 9. تمرینات شماره:
1, 2, 3, 6 ,8, 11, 13, 15 ,18
    ۵ موافقین ۰ مخالفین ۰ ۱۹ آبان ۹۲ ، ۱۴:۱۶
    حامد شیخلو
    به منظور نوشتن مطلب فارسی در محیط latex نیازمندی اصلی، نصب برنامه texmaker است، در محیط مبتنی بر debian از دستورات زیر استفاده میکنیم
    #apt-get install texmaker
    بعد از اتمام دستورات، میتوان برنامه texmaker را اجرا کرد. در این محیط میتوان متون انگلیسی را تایپ و آماده کرد. برای آموزش latex از فایل زیر میتوان استفاده کرد:
    http://www.tug.org/twg/mactex/tutorials/ltxprimer-1.0.pdf
    برای فعال سازی فارسی نویسی، نیازمند xelatex میباشیم، این نیازمندی با texmaker نصب میشود، اما باید تغییراتی برای آن اعمال کرد
    اولین مرحله،‌فعال سازی قابلیت کامپایل با xelatex است، برای این منظور از منوی
    User-> User commands -> Edit User Commands
    را انتخاب میکنیم، در پنجره باز شده،‌ به صورت زیر عمل میکنیم:


    بسته های زیر را نصب کنید:
    #apt-get install texlive-lang-arabic texlive-latex-recommended
    قلم های مورد نیاز را نصب کنید، مانند ویندوز فایل قلم را باز کنید و دکمه install را بزنید.
    برای تست،‌ از مثال زیر استفاده کنید:
    \documentclass{article}
    \usepackage{graphicx}
    \usepackage{amsmath}
    \usepackage{xepersian}
    \usepackage{amssymb}
    \settextfont[Scale=1]{XB Niloofar}
    \setlatintextfont[Scale=.9]{Times New Roman}
    \setdigitfont{B Nazanin}
    \title{نحوه فارسی نویسی در LATEX}
    \author{حامد شیخلو}
    \begin{document}
    \maketitle
    \begin{abstract}
    چکیده مطلب
    \end{abstract}
    \indent\indent
    \section{مقدمه}
    مقدمه مطلب
    \end{document}
    ****توجه داشته باشید که amsmath قبل از xepersian فراخوانی شود.
    برای اجرا ابتدا برنامه texmaker را باز کنید و کد بالا را در آن بنویسید،‌ از منوی کمپایل xelatex را انتخاب کنید و کامپایل را انجام دهید.

    برای نصب texStudio و بسته های مورد نیاز از روش زیر هم میتونین استفاده کنید:
    apt install texstudio
    apt install texlive-xetex
    apt install install lmodern
    apt install texlive-fonts-recommended





    ۲ موافقین ۱ مخالفین ۰ ۱۶ آبان ۹۲ ، ۲۲:۴۷
    حامد شیخلو
    لینوس توروالدز چند روز پیش گفت که بعد از نسخه 3.19 شماره گذاری لینوکس بر پایه 4 انجام میشه. اگر دو سال پیش برگردیم و شماره گذاری رو مرور کنیم، واقعاً برای خودش به معضل شده بود. شماره نسخه اصلی با n تا مینور ورژن بعدش که x تا هم پچ روش بود. عرضه نسخه 3 خیلی خوب بودش، تغییرات هم برای یه نسخه ماژور انصافا در حد قابل قبولی بود. اما اینکه بعد از یه تعداد مستر ورژن، صرفا با تاکید بر خود عدد یه نسخه ماژور عوض به شه یکم منطقی نیست. نسخه lts هم که تو ورژن 3.2 بسته شده. حالا این تغییر به نسخه 4 که احتمالاً تا آخر امسال اتفاق بیافته امیدوارم تو نسخه lts تأثیر مخرب نداشته باشه.
    ۰ موافقین ۰ مخالفین ۰ ۱۵ آبان ۹۲ ، ۱۳:۵۹
    حامد شیخلو
    این کتاب رو میشه بهترین کتاب تو زمینه برنامه نویسی سیستمی در محیط لینوکس و لینوکس هستش. ویرایش اول این کتاب نوشته دکتر ریچارد استیونسن هستش. ایشون در سال 1999 در سن 48 سالگی فوت کردن. ویرایش جدید کتابهای ایشون هر ساله با افزودن مطالب جدیدی یکی از بهترین کتابهای زمینه خودش هستش. سری کتابهای TCP/IP illustrated که نوشته ایشون هستش، بهترین کتاب تو زمینه کالبد شکافی پروتکل شبکه هستش.


    لینک دانلود
    http://filepi.com/i/YQygf1B
    ۰ موافقین ۰ مخالفین ۰ ۱۳ آبان ۹۲ ، ۰۹:۴۲
    حامد شیخلو