|
|
|
|
|
به نام خدا سلام !
در داستان علمی تخیلی استفن کینگ، "برج تاریک" ، قهرمان داستان جایی می گوید: "فقط دشمنان حقیقت را می گویند. دوستان و عاشقان به خاطر وظیفه، به طور بی پایان دروغ می گویند." گروه SCO (خالق سیستم عامل یونیکس) ، کمپانی IBM را به علت استفاده غیر مجاز از کد یونیکس در سیستم عامل لینوکس خود، تحت تعقیب قرار داده و تقاضای یک میلیارد دلار خسارت کرده است. این شکایت نه به علت زیر پا گذاشتن قانون کپی رایت، بلکه به علت نقض مفاد قرارداد مابین دو شرکت، از طرف IBM می باشد که البته IBM نیز نیز آن را رد می کند. از طرف دیگر گروه SCO قصد دارد شرکتهای عمده سازنده لینوکس را به یک دعوای حقوقی بکشاند و موتور رو به پیشرفت جامعه "اپن سورس" را که روز به روز در بازار Enterprise بزرگتر و قویتر می شوند، مختل کند. در شکل کلی، SCO تمام انجمن لینوکس را به رقابت طلبیده است و از آنها می خواهد ثابت کنند کد لینوکس را خودشان نوشته اند و این ادعای SCO بازار را دچار نگرانی کرده است. ● "منبع حقیقی کد لینوکس و برنامه های اپن سورس از کجا آمده؟ آیا این کد از جایی دزدیده شده است؟" این دعواهای حقوقی و ادعاها، شرکتهای بزرگ خریدار تکنولوژی اطلاعات را نگران چیزی کرده که از آن متنفرند: رویارویی با قانون. به خصوص زمانی که صحبت از سرمایه گذاریهای چند میلیون دلاری به میان می آید. از همه بدتر، طبیعت برنامه های اپن سورس است. زیرا کاربران اینگونه نرم افزارها بیشتر در خطر قانون کپی رایت هستند تا کاربران سیستم های غیر اپن سورس. جاناتان بند، وکیل دادگستری از مؤسسه موریسون و فورستر می گوید: "اگر لینوکس در این دعوای حقوقی شکست بخورد، آنگاه کاربران لینوکس نیز با استفاده کردن و یا برنامه نویسی با آن کدها، تحت تعقیب قانون قرار می گیرند." مسئله دیگر، اعتمادی است که مردم به لینوکس دارند. در واقع نقطه قوت لینوکس، قابلیت اعتماد بالای آن است. مردم (کاربران لینوکس) انتظار دارند کسی نتواند علاوه بر کد اصلی، چیزی را به کد آنها اضافه کند. در واقع آنها بیش از حد به لینوکس اعتماد می کنند. اولین مشکلی که باعث ایجاد نگرانی در بین متخصصین رایانه شد، در آگوست ۲۰۰۲ پیش آمد. طی آن حادثه، یک نفر توانست سرورهای دانلود OPENSSH را هک کند. سیستمهای معمول امنیتی اپن سورس به سرپرستان امکان می دهد تا ارتباطات راه دور (Remote) با سرور را کدگذاری کنند. اما هکرها توانستند یک "اسب تروا" در نسخه دانلود OPENSSH قرار دهند. این برنامه های کوچک اما مخرب در کامپیوترهای کاربران بارگذاری می شوند. بعدآ هکرها می توانند کنترل ماشین (کامپیوتر) این کاربران را در دست گیرند. این حالت معادل دیجیتال حالتی است که دزدان بتوانند به مرکز مخابرات پلیس تونلی حفر کنند. نسخه دستکاری شده فوق روی سرور OPENSSH تا ۵ روز قرار داشت و کسی متوجه آن نشد. ● آیا نمی توان انتظار داشت در آینده نیز دوباره اتفاقی مشابه روی دهد؟ به همین طریق، اگر یک برنامه نویس که روی یک پروژه اپن سورس کار می کند، کدهای حفاظت شده (که شامل قانون کپی رایت می شود) را درون برنامه قرار دهد و کسی متوجه آن نشود، میلیونها کاربر می توانند آن برنامه را دانلود کرده، از کد فوق استفاده کنند، بدون آنکه بدانند در حال استفاده از یک کد حفاظت شده هستند و می توان آنها را تحت تعقیب قرار داد. بنابراین هر پروژه ای که بر اساس آن کد (یا هر کد حفاظت شده دیگر) نوشته شود، می تواند تا سالها برای کاربران مشکلات قانونی ایجاد کند. به دلایل فوق و مشکلات و مزاحمتهایی که می تواند بر سر راه کاربران قرار گیرد، جورج وایز، تحلیلگر نرم افزار از مؤسسه گارتنر، به تحقیقی که در روز ۱۶ آوریل منتشر شده اشاره می کند و می گوید: "سرپرستان سیستم باید به شدت مراقب کدهای اپن سورس باشند و آنرا به دقت بررسی کنند تا با قوانین کپی رایت مغایرت نداشته باشد. باید یک مرحله تأیید کیفیت بر روی کدهای اپن سورس اعمال گردد تا معلوم شود استفاده از آن مجاز است یا نه. همه اینها موجب می شود سرعت پذیرش لینوکس از سوی سرپرستان سیستم، بر روی سیستم های سطح بالا، کند شود." به عبارت دیگر پیش از آنکه کسی شروع به استفاده از نرم افزارهای اپن سورس برای اجرا و پیشبرد تجارتش کند، بهتر است تمام مسائل را در نظر بگیرد و مطمئن شود که استفاده از آن برنامه، تجارتش را به خطر نمی اندازد. سردمداران جامعه اپن سورس معتقدند باید در آینده با دقت بیشتر حرکت کنند و امنیت کدهای خود را بالا ببرند. چگونه؟ با بررسی بهتر و بیشتر بر روی کدهای نوشته شده روی سیستمها. برای مثال این کار می تواند از طریق چک کردن امضاءهای رمزگذاری شده صورت گیرد تا مطمئن شوند شخصی که کد خاصی را بر روی سرور پروژه اپن سورس Upload کرده، همان کسی است که ادعا می کند یا یک هکر است که توانسته به سیستم نفوذ کند. بعضی از صاحبان شرکتهای تولید کننده لینوکس می گویند دادن مجوز به افراد غیر معتمد و ناشناس برای قرار دادن کدشان درون برنامه های اپن سورس، یک کار خطرناک و با ریسک بالا است. بروس پرنز، یکی از مدیران پروژه لینوکس Debian اظهار می دارد که او و دیگر مدیران شرکت، باید حتمآ با برنامه نویسان به صورت رو در رو ملاقات کنند تا از هویت آنها مطمئن شوند و اجازه دهند کد نوشته شده توسط این اشخاص درون پروژه قرار گیرد. مارتن میکوس، مدیر اجرایی بانک اطلاعات اپن سورس MySQL نیز می گوید قسمت عمده کد برنامه ای را که او، هم می فروشد و هم برای دانلود (به صورت مجانی ولی بدون پشتیبانی) بر روی سرورش قرار داده، خودش نوشته است و برای قسمت های دیگر کد برنامه، که توسط افراد خارج از شرکت نوشته می شود نیز، از آنها مدرکی می خواهد تا مطمئن شود آنها خودشان این کد را نوشته اند. تعدادی از شرکتهای بسیار بزرگ و معروف اپن سورس نظیر پروژه "وب سرور آپاچی" و نسخه لینوکس RedHat در حال حاضر نظارت شدیدی بر مراحل کد نویسی خود دارند و فقط به چند برنامه نویس انگشت شمار و کاملآ قابل اعتماد (از جمله لینوس توروالدز، خالق لینوکس که هنوز بر روی بهبود کرنل آن کار می کند)، اجازه فعالیت و کار می دهند. به هر حال SCO ناخواسته کمک شایانی به انجمن اپن سورس کرده است و از این به بعد ما شاهد ظهور نرم افزارهایی با قابلیت اعتماد و امنیت بالاتر از سوی برنامه نویسان لینوکس خواهیم بود. البته زمان مشخص خواهد کرد که آیا لینوکس و به طور کلی نرم افزارهای اپن سورس موفق خواهند شد سهم بزرگی از بازار Enterprise را به دست آورند یا نه؟ |
||
|
+
نوشته شده در یکشنبه یکم اردیبهشت 1387ساعت 7:35 بعد از ظهر توسط مسعود لپه چی
|
|
||
|
|
|
|
|
به نام خدا سلام !!! سیستم فایل هر کامپیوتر، امکان ذخیره سازی فایل ها و اطلاعات را روی آن فراهم می سازد. هنگامی که از داخل برنامه واژه پرداز خود سندی را ذخیره می کنید، این سیستم فایل است که تعیین می کند سند چگونه و کجا ذخیره شود. ابزارهای ذخیره سازی مانند فلاپی دیسک ها، دیسک های سخت، درایوهای CD-ROM، درایوهای Zip و... تا قبل از اینکه سیستم عامل سیستم فایل را روی آنها تشکیل دهد، قابل استفاده نیستند. سیستم فایلهای گوناگونی برای سیستم عامل های مبتنی بر یونیکس و لینوکس ارائه شده اند که برخی از آنها عبارتند از ext2، ext3، xfs، reiserfs و غیره. این سیستم فایل ها در جزئیات فنی دارای تفاوت هایی با هم هستند ولی از نظر ساختاری که ایجاد می کنند مشابه بوده و تفاوت چندانی باهم ندارند. در این مقاله ما وارد جزئیات فنی هر نوع از سیستم فایلها نشده و تنها ساختار آنها را بررسی خواهیم کرد. ● سیستم فایل یا درخت؟ سیستم فایل سیستم عامل های مبتنی بر یونیکس و لینوکس بصورت یک درخت وارونه پیاده سازی شده است. در یونیکس و لینوکس دیگر شما چیزی به نام درایوهای A، C و ... ندارید. تمام ابزارها و سیستم فایلها شاخه هایی از این درخت وارونه هستند. مرکز این درخت ریشه یا root نام دارد که بالاترین سطح سیستم فایل را تشکیل می دهد. زیر ریشه، پوشه هایی قرار دارند که سایر قسمت های سیستم فایل را تشکیل می دهند که اکنون درباره آنها توضیح می دهم. تصویر 1 سیستم فایل سیستم های مبتنی بر یونیکس و لینوکس را نشان می دهد. همانطور که می بینید سیستم فایل از تعداد زیادی پوشه تشکیل شده است که این پوشه ها تقریبا در تمامی سیستم عامل های مبتنی بر یونیکس و لینوکس مشترک هستند. اکنون به تشریح تک تک این شاخه ها پرداخته و در میان آن توضیحات اضافه را به شما ارائه خواهم کرد. ● پارتیشن ها در سیستم فایل سیستم عامل های مبتنی بر لینوکس و یونیکس، دیسک های سخت می توانند پارتیشن های متعددی داشته باشند. در این صورت هر پارتیشن دارای یک نقطه اتصال یا mount point می باشد که در آن نقطه به درخت سیستم فایل متصل می شود. مثلا می توانید اطلاعات کاربران سیستم را در یک پارتیشن جداگانه ذخیره نموده و نقطه اتصال آنرا home تعیین کنید که محل قرارگیری اطلاعات کاربران است و به همین ترتیب. ▪ بخش های درخت سیستم فایل اکنون به بررسی تک تک شاخه های سیستم فایل می پردازیم. توجه داشته باشید که دسترسی به اکثر این شاخه ها فقط توسط کاربر ریشه امکان پذیر است. - شاخه bin: در این شاخه، دستورات سیستم عامل که برای تمام کاربران قابل دستیابی هستند و برخی دستورات مدیریتی سیستم قرار می گیرند. - شاخه boot: این شاخه که می تواند در یک پارتیشن جداگانه بوده و به پوشه boot متصل شده باشد، حاوی برنامه راه نداز بوت سیستم عامل می باشد. مانند Grub و Lilo. - شاخه dev: محل قرارگیری نقطه دسترسی های ابزارهای سخت افزاری است. مثلا تمام پورت ها، پارتیشن ها و... در اینجا دارای یک فایل هستند. برای مثال فایل dev/fd0 نشاندهنده فلاپی درایو سیستم است و به همین ترتیب. بسیاری از برنامه های کاربردی از این فایلهای دسترسی برای خواندن و نوشتن داده ها بر روی ابزار مورد نظرشان استفاده می کنند. مثلا یک برنامه کاربردی فایل dev/fd0 را باز کرده و در آن می نویسد. در حقیقت اطلاعات روی درایو فلاپی و دیسکی که در آن قرار دارد، نوشته خواهد شد. - شاخه etc: در این شاخه فایل های پیکربندی برنامه های سرویس دهنده و برخی فایلهای سیستمی دیگر قرار می گیرند. مثلا فایل پیکربندی سرویس دهنده وب آپاچی در سیستم های دبیان در etc/apache/http.conf قرار دارد و به همین ترتیب. - شاخه home: در این شاخه دایرکتوری های خانگی کاربران سیستم و اطلاعات آنها قرار می گیرد. بهتر است این شاخه در یک پارتیشن جداگانه قرار گرفته و متصل شود. این کار حفاظت از داده های کاربران را بالاتر خواهد برد. ضمنا در صورت نیاز به فرمت و نصب مجدد سیستم، اطلاعات کاربران دست نخورده باقی مانده و پس از نصب مجدد، کلیه تنظیمات شخصی و اطلاعات آنها بدون تغییر باقی خواهند ماند. - شاخه lib: این شاخه همانطور که از نام آن پیداست، محل قرار گیری فایل های کتابخانه برنامه ها است. این کتابخانه ها توسط برنامه های کاربردی و ابزارهای برنامه نویسی بکار گرفته می شوند. - شاخه mnt: این شاخه معمولا دارای زیرشاخه هایی مانند floppy و cdrom بوده و محل اتصال سنتی درایوهای فلاپی و CD-ROM می باشد. همچنین پارتیشن ها دیگر دیسک سخت را نیز می توانید در این شاخه متصل نمایید. البته اجباری به این کار وجود ندارد. مثلا در سیستم های مبتنی بر دبیان، درایوهای فلاپی و CDROM در شاخه های floppy و cdrom که در زیر ریشه قرار دارند، متصل می شوند. اتصال و برداشتن اتصال پارتیشن ها و درایوها با استفاده از دستور mount صورت می گیرد. اشتراکات شبکه را نیز می توانید در این شاخه متصل نمایید. - شاخه proc: این شاخه یک سیستم فایل مجازی است که برخی اطلاعات مربوط به سیستم و هسته از آن قابل دستیابی می باشد. مثلا فایل version در این شاخه حاوی اطلاعات هسته سیستم عامل مانند نسخه آن و ... می باشد. - شاخه sbin: دستورات و برنامه های مدیریتی سیستم در این شاخه قرار می گیرند که مخصوص کاربر root است. - شاخه tmp: محل قرارگیری برخی فایلهای موقتی برنامه های کاربردی است. - شاخه usr: بسیاری از برنامه های کاربردی در این شاخه نصب می شوند. مثلا Xwindow در این شاخه قرار دارد. همچنین برخی دستورات و دستورات مدیریتی نیز در مسیرهای usr/bin و usr/sbin قرار می گیرند. - شاخه var: این شاخه که معمولا در کامپیوترهای سرویس دهنده در یک پارتیشن جداگانه قرار می گیرد، مخصوص برنامه های سرویس دهنده ای مانند وب و FTP و بانکهای اطلاعاتی است. مثلا فایل های مربوط به یک وب سایت می توانند در var/www قرار گیرند. به دلیل اینکه در برخی از حملات DOS دیسک سخت سیستم با فایل های آشغال پر می شود، این شاخه را در یک پارتیشن جداگانه قرار می دهند که در صورت قرارگیری تحت حمله و پرشدن احتمالی دیسک سخت، کل سیستم عامل دچار وقفه نگردد و آسیب به همان قسمت محدود شود. تمامی شاخه هایی که در بالا توضیح داده شد، می توانند در پارتیشن های جداگانه قرار داده شوند. ولی ضرورتی ندارد. ● پارتیشن swap هنگام نصب لینوکس، پارتیشنی به نام swap می سازید. کاربرد این پارتیشن چیست؟ این پارتیشن که تحت ساختار سیستم فایل جایی متصل نمی شود، محل قرارگیری swapping file لینوکس که همان حافظه مجازی روی دیسک سخت است، می باشد. بهتر است حجم آنرا برابر یا 2 برابر حافظه سیستم خود تعیین نمایید. |
||
|
+
نوشته شده در یکشنبه یکم اردیبهشت 1387ساعت 7:34 بعد از ظهر توسط مسعود لپه چی
|
|
||
|
|
|
|
|
به نام خدا دراین مقاله سعی شده تا اطلاعات و ساختاری برای آنها که با KDE و پروژه آن تازه آشنا شده اند فراهم گردد. تصور ما بر این است که دامنه وسیعی از موضوعات مرتبط با KDE و پروژه آن راپوشش داده ایم و امیدواریم که بتوانید از پروژه KDE و گسترش و رشد آن درک و تصویری صحیح کسب نمایید. ● نگاه کلی محیط KDE نرم افزار قدرتمند رومیزی است که به طور شفاف در شبکه کار کرده و برای کاربران ایستگاههای کاری یونیکس طراحی شده است. KDE بدنبال رفع نیاز به یک محیط آسان برای ایستگاههای کاری یونیکس است ، مانند آنچه در سیستم عامل کامپیوترهای اپل و یا ویندوز می بینید. ما معتقدیم که امروزه بهترین سیستم عامل موجود یونیکس است . اگرچه عدم وجود یک محیط آسان ، مانعی است بر سر راه گسترش استفاده از این سیستم عامل تا به عنوان یک سیستم مرسوم در منازل و دفاتر کار مورد استفاده قرار گیرد، در واقع یونیکس ، برای افرادی که در زمینه تکنولوژی اطلاعات به صورت حرفه ای فعالیت دارند یک سیستم عامل بی همتاست و هنگامی که صحبت ازقابلیت اطمینان ، اندازه پذیری و در دسترس بودن به میان باشد هیچ رقیبی برای یونیکس یافت نمی شود. یونیکس بازار سیستم های Server را هدف قرار داده و بهترین بستر برای انجام امور حرفه ای و عملی است . بدون یونیکس اینترنت وجود نداشت ، ولی یونیکس برای کاربران میانی کامپیوتر مناسب نیست . گرچه این عبارت با وجود نسخه هایی از آن از قبیل GNU/Linux، FreeBSD و NetBSD که برروی اینترنت موجود هستند و هر کدام در اندازه پذیری و قابلیت اطمینان ؛ بی نظیری عبارتی کاملاً صحیح نیست . ● KDE یک محیط رومیزی با وجود KDE هم اکنون محیطی قدرتمند و آسان برای یونیکس وجود دارد. بهمراه یک نسخه رایگان از یونیکس نظیر Linux، مجموعه Unix/KDE بستری کاملاً رایگان برای همگان فراهم می آورد که می توان از آن است فاده نموده و یا حتی آنرا تغییر دهند. گرچه همواره ، موقعیت رشد و گسترش وجود دارد ولی براین باور هستیم که در وضعیت فعلی هم به جایگاه مناسبی در میان سیستم عامل های تجاری رومیزی دست یافته ایم . امیدواریم که ترکیب یونیکس و KDE محیطی را که سالها حرفه ای ها و دانشمندان از آن استقبال کرده اند را در سطح کاربران متوسط هم فراهم نماید. KDE قالبی برای ایجاد و گسترش برنامه های کاربردی تولید نرم افزار در یونیکس X۱۱ کار بسیار سخت و زمانگیری بود. KDE متوجه این موضوع می باشد که ارزش یک بستر نرم افزار بر پایه کاربردهای پیشرفته و مناسبی است که در آن برای کاربران نهایی در نظرگرفته می شود. بر این اساس ، پروژه KDE بستر تولید برنامه های اسنادی درجه اولی را به همراه پیاده سازی پیشرفته ترین فناوری ها در این زمینه فراهم آورده و بدین ترتیب خود را در صف اول رقابت با محصولات پرکاربری از قبیل فناوری MFC/COM/Activex شرکت میکروسافت قرارداده است . مجموعه فناوری اسنادی KDE KPart، به برنامه نویسان این قابلیت را می دهد که نرم افزارهای سطح بالا و پیشرفته ای را با این فناوری به سرعت ایجاد نمایند. ● KDE و مجموعه نرم افزارهای اداری با بهره گیری از محیط ایجاد برنامه در KDE تعداد زیادی برنامه کاربردی برای این محیط ایجاد شده است. گروهی از این برنامه ها در بخش پایه ای KDEدر دسترس همگان قرار دارند. هم اکنون KDE در حال تولید و تکمیل یک مجموعه نرم افزار اداری ، مبتنی بر فناوری KDE KPart است که شامل یک نرم افزار صفحه گسترده ، یک نرم افزار ارائه کننده (Presentation)، یک سامان دهنده (سررسید) و نرم افزار پست الکترونیک و غیره می باشد. KPresenter نرم افزار ارائه دهنده KDE با موفقیت در بسیاری ازسمینارها و جلسات برای نمایش و ارائه مطلب بکار گرفته شده است . ● KDE یک سفر هیجان انگیز از اواخر دهه ۶۰ میلادی که یونیکس، در آزمایشگاه های شرکت بل زاده شد، تا به امروز، این سیستم همواره به قدرت و پایداری مداوم معروف بوده است. در همه این سال ها یونیکس روی رایانه های Mainframe و کارگزارهای پیشرفته حکمرانی کرده است. اگر یونیکس نبود، امروزه اینترنت وجود نمی داشت. TCP/IP، پست الکترونیکی، و بسیاری دیگر از قراردادها و برنامه هایی که امروزه مورد استفاده کاربران رایانه هستند، با یونیکس متولد شدند و رشد یافتند. اما، در همه این دوران، استفاده از یونیکس هیچ گاه برای کاربران معمولی رایانه آسان نبود. استفاده از یونیکس نیازمند دانش نسبتا ًبالای رایانه بود، و بر عکس ویندوز یا مکینتاش، محیط گرافیکی جذابی برای آن وجود نداشت. تلاش های شرکت هایی همانند Wind River و NEXT Step نیز در راه ساده کردن یونیکس نتیجه نداد؛ این عوامل، جنگ یونیکس ها با یکدیگر، و یک سری دادگاه های حقوقی از طرف شرکت AT&T دست در دست هم داده، گسترش یونیکس در بازار رایانه های خانگی را متوقف کرده و راه را برای ویندوز مهیا ساختند. در این حال بود که پروژه KDE در اواخر سال ۱۹۹۶ به وجود آمد. اهداف KDE عبارت بودند ازآماده سازی بستری مناسب برای نوشتن نرم افزار برای یونیکس و گنو/لینوکس؛ و فراهم کردن محیط گرافیکی جذاب برای ایستگاه های کاری یونیکس و گنو/لینوکس. KDE در ابتدا یک پروژه عمدتا ًآلمانی بود، که به مرور زمان گسترش یافت و امروزه بدل به شبکه ای از مهندسان نرم افزار معتقد به نرم افزار آزاد در سراسر جهان شده است. KDE که مخفف « Desktop Environment» می باشد، با پیشرفت خیره کننده اش در سال های اخیر، تبدیل به تاج طلایی پروژه های نرم افزار آزاد گردیده است، به گونه ای که جدیدترین نسخه آن یعنی نسخه ۱/۳ هم از نظر زیبایی و چشم نوازی، و هم از نظر قابلیت و کارایی با محیط های ویندوز و مکینتاش رقابت می کند، و به اعتقاد بسیاری، حتی از آن ها پیشی گرفته است. محیط میزکار KDE شامل برنامه ها و نرم افزارهای گوناگون و متنوعی می باشد. نرم افزار های شبکه، برنامه FTP، پست الکترونیکی (KMail) و گفت وگوی مستقیم (Kopete)؛ نرم افزارهای گرافیکی و ویرایش تصویر (Kontour)، پخش موسیقی (noatun)، پخش فیلم (!aKtion) و کار با دوربین های دیجیتال (Kamera) و پویشگر (Kooka) و چاپگر (Kdeprint)، نرم افزار های مدیریت سیستم همانند مرکز کنترل، مرورگر صفحات وب (Konqueror)، نرم افزارهای دورنما (KFax)، طراحی صفحات وب (Quanta)، محیط برنامه نویسی (KDevelop)، تعدادی بازی (Kdegames)، نرم افزارهای آموزشی (Kdeedu)، و یک مجموعه کامل نرم افزارهای اداری (KOffice) شامل واژه پرداز (KWord)، صفحه گسترده (KSpread)، نمایش KPresenter و بسیاری نرم افزار های دیگر، محیطی کامل را برای کاربران فراهم کرده اند. با توجه به سرعت پیشرفتی که KDE از خود نشان داده است، پیش بینی آینده آن کاری بس دشوار است. به تازگی دولت آلمان در پروژه ای با نام Kroupware، اقدام به اضافه کردن پاره ای امکانات به KDE کرده است. سایر دولتهای اروپایی نیز همگی مشغول بررسی KDE می باشند. شرکت Apple برای ساخت مرورگر جدید خود به نام Safari، از مرورگر Konqueror، استفاده کرده و پیشرفت های خود به این مرورگر را در اختیار پروژه KDE قرار داده است. همگی نشانه ها بیانگر آن است که آینده درخشانی در انتظار این پروژه می باشد وسناریوی «یونیکس سخت است» دیگر صادق نیست. ترکیب KDE/لینوکس آماده فتح رایانه های رومیزی می باشد. ● فارسی KDE چیست؟ پروژه فارسیKDE از آنجا شروع شد، که تعدادی عاشق لینوکس و نرم افزار آزاد متوجه شدند که در لیست زبان های محیط گرافیکی محبوب آن ها یعنی KDE، جای فارسی خالی است. در سال ،۱۹۹۹ مدیر پروژه فارسی KDE با مسؤلین KDE تماس گرفت و مشخص شد که KDE هنوز از زبان های راست به چپ، مانند فارسی، پشتیبانی نمی کند. برنامه نویسان KDE در آن زمان گفتند که با عرضه نسخه ۳/۰ KDE، این پشتیبانی صورت خواهد گرفت. در آن زمان، طرح صفحه کلید امروزی لینوکس با پیروی از مصوبات شورای عالی انفورماتیک کشور طراحی شد، و همچنین پشتیبانی زبان های راست به چپ در KDE نیز فعال گردید. با عرضه نسخه ۳/۰ KDE در ماه می سال ،۲۰۰۲ کار ترجمه KDE شکل جدی به خود گرفت. لازم به ذکر است که تا کنون فقط قسمت اولیه، یعنی پایه ۳/۱ KDE به فارسی ترجمه شده است. هر چند که خود همین پایه، شامل تعداد زیادی نرم افزار، و تقریباً مهمترین نرم افزارهای KDE می شود، اما هنوز تعداد بسیاری از نرم افزارهای KDE ترجمه نشده باقی مانده اند. |
||
|
+
نوشته شده در یکشنبه یکم اردیبهشت 1387ساعت 7:32 بعد از ظهر توسط مسعود لپه چی
|
|
||
|
|
|
|
|
به نام خدا سلام !!! ویندوز و لینوکس انواع مختلفی دارند. تمامی انواع ویندوز را مایکروسافت تولید می کند، اما توزیع متنوع لینوکس از سوی شرکت های متعددی مانند Linspire، Red Hat، SuSE، Ubunta، Mandriva، Knoppix، Slackware و Lycoris صورت می گیرد. ویندوز دو خط اصلی دارد که می توان آنها را Win۹x که شامل ویندوزهای ۹۵، ۹۸، ۹۸SE، Me و کلاس NT که ویندوزهای NT، ۲۰۰۰ و XP را در خود جای داده است، اشاره کرد. ویندوز در واقع کار خود را با نسخه ۳.x آغاز کرد و پس از چند سال ویندوز ۹۵ را روانه بازار کرد. انواع لینوکس به عنوان توزیع از آن یاد می شود. تمامی توزیع های لینوکس که در چارچوب زمانی یکسان منتشر شده، از یک هسته اصلی(مهمترین بخش سیستم عامل) تبعیت می کنند. تفاوت آنها در نرم افزارهای اضافی ارائه شده، واسطه گرافیکی کاربر، فرایند نصب، قیمت، اسناد سازی و پشتیبانی های فنی است. ویندوز و لینوکس هر دو در desktop و ویرایش های سروری ظاهر می شوند. لینوکس می تواند کارایی خود را بالا برد که ویندوز نمی تواند. نسخه های هدفمند ویژه از لینوکس وجود دارد. به عنوان مثال NASLite نسخه ای از لینوکس است که بااستفاده از یک فلاپی دیسک، رایانه قدیمی را تبدیل به یک فایل سرور می کند. این نسخه از لینوکس قادر به اتصال به شبکه، تقسیم فایل ها و عملکرد به عنوان یک وب سرور است. ● واسطه گرافیکی کاربر در سیستم عامل ویندوز و لینوکس ویندوز و لینوکس قادر هستند به ارائه واسطه گرافیکی کاربر و واسطه خط فرمان بپردازند. واسطه گرافیکی کاربر ویندوز از ویندوز ۱/۳ به ویندوز ۹۵، ویندوز ۲۰۰۰ و ویندوز XP تغییر یافته است و انتظار می رود در نسخه بعدی ویندوز که جایگزین XP خواهد شد، دوباره تغییر کند. لینوکس به طور نمونه به ارائه دو واسطه گرافیکی کاربر، KDE و Gnone می پردازد. در توزیع های عمده لینوکس، لیندوز موجب شده واسطه کاربر شباهت بیشتری به ویندوز داشته باشد. همچنین XPde for Linux نیز در شباهت لینوکس به ویندوز نقش موثری دارد. واسطه گرافیکی کاربر در سیستم های لینوکس اختیاری است و حال آن که این واسطه جزء جدایی ناپذیرOS در ویندور است. سرعت، کارایی و اطمینان در اجرای یک سرور به جای لینوکس که فاقد واسطه گرافیکی کاربر است، افزایش یافته است و این در حالی است که دیگر نسخه های سرور ویندوز قادر به انجام چنین عملی نیستند. در واقع واسطه گرافیکی کاربر در لینوکس، اجرا و کنترل از راه دور را برای یک رایانه لینوکس آسانتر و طبیعی تر از رایانه ویندوز جلوه می دهد. ● واسطه نمای متنی در سیستم عامل ویندوز و لینوکس این واسطه به عنوان یک مفسر دستوری نیز شناخته شده است. کاربران وینداز برخی اوقات از آن به عنوان یک اعلان از سوی DOS نیز یاد می کنند. کاربران لینوکس آن را به عنوان یک برنامه واسطه معرفی می کنند. هر نوع از ویندوز به یک مفسر دستوری مجهز است، اما انواع مختلف ویندوز از مفسرهای مختلفی نیز برخوردارند. به طور کلی، مفسرهای دستوری ویندوز سری ۹x شباهت زیادی به یکدیگر دارند و نسخه های کلاس NT نیز مفسرهای دستوری مشاهبی را در خود جای داده اند. اما تفاوت هایی در بین این دو دسته از ویندوز وجود دارد. لینوکس مانند دیگر نسخه های یونیکس، از مفسرهای دستوری چندگانه پشتیبانی می کند، اما معمولاً از یک نوع که به عنوانBASH شناخته می شود، استفاده می کند. از دیگر مفسرها می توان از Korn shell، Bourne shell، ash و C shell یاد کرد. ● هزینه ها در سیستم عامل ویندوز و لینوکس برای یک desktop و یا کاربرد خانگی، می توان گفت لینوکس خیلی ارزان و یا رایگان است در حالی است که ویندوز گران است. در کاربرد سرور نیز لینوکس در مقایسه با ویندوز بسیار ارزان است. مایکروسافت اجازه می دهد، یک کپی از ویندوز تنها برای یک رایانه استفاده شود. برای اولین بار در ویندوز XP، آنها با استفاده از نرم افزاری به اعمال این قانون(در ابتدا فعال سازی تولید ویندوز و سپس ویندوز Genuine) می پردازند. در مقایسه، تنها با یک بار خرید لینوکس، شما می توانید در هر چند رایانه با هیچ گونه هزینه اضافی از آن استفاده کنید.می توان کتاب لینوکس و سیستم عامل که شامل کتاب است را به رایگان تهیه کرد. همچنین می توان لینوکس را به صورت رایگان از فروشندگان آن مشروط بر این که به یک ارتباط اینترنتی پر سرعت و یک CD burner مجهز باشید، و یا از سایت www.linuxiso.org دانلود کرد. ● دستیابی به سیستم عامل برای دستیابی به لینوکس باید رایانه ای جدید را که لینوکس از پیش بر روی آن نصب شده خریداری کرد. لیندوز که در حال حاضر لینسپایر نامیده می شود، لیست تمامی فروشندگانی که رایانه هایی مجهز به لیندوز را به فروش می رسانند، ارائه می دهد. اگر شما خواستار نصب لینوکس هستید، می توانید به خرید رایانه ای بدون سیستم عامل از Dell و یا Wal-Mart که برای نصب انواع لینوکس کامل است، اقدام کنید. نصب ویندوز همیشه یکسان است و این در حالی است که توزیع های مختلف لینوکس برنامه های نصب خود را دارند که حتی این امر می تواند در نسخه های مختلف توزیع یکسان، تغییر یابد. ● اجرای برنامه از طریق سی دی لوح فشرده در سیستم عامل ویندوز و لینوکس یکی از کارهایی که لینوکس می تواند انجام دهد و ویندوز نمی تواند، اجرا شدن از روی سی دی است. برای اجرا، ویندوز باید ابتدا بر روی دیسک سخت نصب شود. اگر نصب ویندوز در مقطعی قطع شود، نمی توان رایانه را راه اندازی کرد. برنامه ای رایگان با نام BartPE وجود دارد که می تواند برخی از برنامه های ویندوز را از طریق سی دی bootable اجرا کرد. به طور عادی، لینوکس نیز از طریق یک دیسک سخت اجرا می شود، اما تعداد خیلی کمی از نسخه های لینوکس هستند که بدون نصب شدن بر روی دیسک سخت، کاملاً از طریق سی دی اجرا می شوند. در نسخه های لینوکس مبنی بر سی دی، کاربرد از دیسک سخت متفاوت است. برخی از آنها مانند لیندوز، هیچ چیزی را بر روی دیسک سخت حک نمی کنند و تجربه لینوکس را به راحتترین و امنترین نحو امکان می سازند. ● نرم افزار کاربردی در سیستم عامل ویندوز و لینوکس در مقایسه لینوکس و ویندوز می توان گفت، نرم افزارهای کاربردی بیشتری برای ویندوز موجود است. ▪ کسب نرم افزار کاربردی: اگر به خرید یک کپی از ویندوز بر روی CD-ROM اقدام کنید، نمی توانید به نرم افزارهای کاربردی آن دسترسی پیدا کنید. اما اگر به خرید یک یا چند کپی از لینوکس بپردازید، می توانید نرم افزارهای کاربردی آن را به صورت رایگان دریافت کنید. رایانه ای جدید به همراه ویندوزی که از پیش بر روی آن نصب شده نیازمند به نرم افزارهای کاربردی دارد. هر توزیع لینوکس با انواع متعددی ارائه می شود. هر چه نسخه گرانتر باشد، نرم افزارهای بیشتری نیز خواهد داشت. ● نصب نرم افزارهای کاربردی سیستم عامل ویندوز و لینوکس نصب کاربردها تحت ویندوز در حالی که استاندارد نشده اند، معمولاً همسان است. نصب نرم افزار تحت لینوکس در هر توزیع متغایر است و به راحتی، سادگی و آشکاری ویندوز نمی باشد. لیندوز به کاربران اجازه می دهد به نصب نرم افزارها در شرایطی شبیه به بهنگام کردن ویندوز بپردازند. در لینوکس کاربردها پس از دانلود شدن، به طور خودکار نصب می شوند که این سرویس دهی به صورت رایگان صورت نمی پذیرد. ● ویروس ها و جاسوس ها: انواع مختلفی از برنامه های نرم افزاری بد اندیش وجود دارد که معمولترین آنها به عنوان ویروس و جاسوس نامیده می شوند. جاسوس در ویندوز به مشکلی بزرگ تبدیل شد در حالی که مایکروسافت به خرید یک شرکت نرم افزاری ضد جاسوس اقدام کرد و تولیدات خود را با عنوان برنامه ضد جاسوس مایکروسافت در سال ۲۰۰۵ روانه بازار کرد. بخش عظیمی از این نرم افزارهای مخرب در ویندوز عمل می کنند. ● کاربران و اسم رمز سیستم عامل ویندوز و لینوکس لینوکس و ویندوز ۲۰۰۰/XP هر دو نیازمند نام کاربر و اسم رمز و زمان ره اندازی هستند. ویندوزهای XP و ۲۰۰۰ و لینوکس از نمونه های متعدد و یا طبقه های مختلفی از کاربران حمایت می کنند. لینوکس و ویندوز می توانند کاربران را به گروه های مختلف دسته بندی کنند و مزایا را برای یک گروه نسبت به یک کاربر ارائه می دهند. اما فایل ها در لینوکس تنها متعلق به یک کاربر و یا گروه، معین شده است. ● خطاهای برنامه ای سیستم عامل ویندوز و لینوکس تمامی نرم افزارها خطاهای برنامه های دارند و خواهند داشت. لینوکس در داشتن خطاهای نرم افزاری کمتر در مقایسه با ویندوز شهرت دارد. تفاوت در اسلوب شناسی ها توسعه ای OSمی تواند به توضیح این که چرا لینوکس از ثبات بیشتری برخوردار است بپردازد. ویندوز از سوی برنامه نویسانی طراحی می شود که اشتباهات آنها به دلیل این که مایکروسافت به انتشار کدهای اصلی خود برای ویندوزنمی پردازد، مخفی می ماند. در مقایسه لینوکس از سوی هزاران برنامه نویس در سراسر جهان طراحی می شود. آنها به انتشار کد منبع برای سیستم عامل می پردازند و هر برنامه نویس علاقمند می تواند به بررسی آنها اقدام کند. ● محدودیت های نرم افزاری در سیستم عامل ویندوز و لینوکس برنامه ای که از سوی لینوکس نوشته شده نمی تواند تحت ویندوز عمل کند و بالعکس. این امر یک قانون است، اما می توان گفت که چندین استثنا نیز وجود دارد. این استثناها نصب یک سیستم عامل را بر روی دیگری فراهم می سازد. به عنوان مثال، در رایانه ای که با لینوکس اجرا می شود می توان به نصب کپی از ویندوز پرداخت. در ویندوز OS که تحت لینوکس اجرا می شود نیز می توان به نصب تمامی برنامه های ویندوز اقدام کرد. در آن واحد یک رایانه می تواند با دو سیستم عامل اجرا شود. ● ابزارهای سخت افزاری پشتیبانی شده توسط سیستم عامل ویندوز و لینوکس در مقایسه ابزارهای سخت افزاری پشتیبانی شده می توان گفت، سخت افزار بیشتری در استفاده از ویندوز کار می کند و این به دلیل این است که فروشندگان سخت افزاری راه اندازهای بیشتری برای ویندوز می نویسند که این امر در لینوکس صدق نمی کند. هنگامی که ویندوز XP به بازار ارائه می شود، بسیاری از دستگاه های جانبی موجود فعالیت نخواهد کرد، زیرا XP به راه اندازهای جدید نیاز دارد و فروشندگان انگیزه کمی برای نوشتن راه انداز برای سخت افزارهای قدیمی دارند. ● سخت افزاری که OS بر روی آن عمل می کند: لینوکس در بسیاری از پایگاه های سخت افزاری قابل اجرا است که این امر در ویندوز امکان پذیر نیست. به عنوان مثال، ویندوز NT تا هنگامی که مایکروسافت ذهن خود را تغییر نداده باشد، در MIPS CPU قابل اجرا است.اما برای لینوکس کسی وجود ندارد تا ذهن خود را تغییر دهد. لینوکس در دامنه وسیعی از رایانه ها اجرا می شود. به دلیل تواناییش در اجرا شدن بدون واسطه گرافیکی کاربر، از سخت افزار کمتری در مقایسه با ویندوز نیاز دارد. لینوکس می تواند در رایانه های شخصی بسیار قدیمی نیز اجرا شود. ● کاربران متعدد در سیستم عامل ویندوز و لینوکس لینوکس سیستم چند کاربری است که ویندوز این گونه نمی باشد. ویندوز طوری طراحی شده که در یک زمان یک کاربر می تواند از آن استفاده کند. دیتابیس هایی که تحت ویندوز اجرا می شوند، موجب می شوند چند کاربر همزمان به آن دسترسی داشته باشند، اما سیستم عامل تنها برای سر و کار داشتن با یک نفر ساخته شده است. لینوکس مانند دیگر گونه های یونیکس برای سر و کار داشتن با چندین کاربر همزمان طراحی شده است. ● شبکه بندی سیستم عامل ویندوز و لینوکس هر دو سیستم می توانند تی سی پی و یا آی پی را اجرا کنند. لینوکس می تواند شبکه بندی ویندوز را انجام دهد که این بدین معنی است که لینوکس می تواند در شبکه ویندوز رایانه ها ظاهر شود و در فایل ها و چاپگرها سهیم شود. لینوکس می تواند بر روی شبکه بندی ویندوز شرکت کنند که این مسئله برای ویندوز نیز صادق است. ● تقسیم بندی دیسک سخت سیستم عامل ویندوز و لینوکس ویندوز باید از سوی یک تقسیم بندی ابتدایی بوت شود. اما لینوکس می تواند یا از طریق یک تقسیم بندی اولیه و یا از طریق تقسیم بندی استدلالی قرار گرفته در یک تقسیم بندی توسعه یافته بوت شود. ویندوز باید از سوی اولین سخت افزار بوت شود و لینوکس می تواند از سوی هر نوع دیسک سخت در رایانه به این امر اقدام کند. ● فایل های ذخیره شده بر روی دیسک سخت: ویندوز برای این گونه فایل ها از فایل مخفی استفاده می کند که این فایل ها مانند OS در تقسیم بندی یکسان قرار می گیرد. لینوکس از تقسیم بندی اختصاصی برای فایل های ذخیره شده در دیسک سخت استفاده می کند. ● سیستم فایل ها در سیستم عامل ویندوز و لینوکس ویندوز در سیستم فایل ها از FAT۱۲، FAT۱۶، FAT۳۲ و یا NTFS استفاده می کند که بهترین انتخاب است.سیستم های فایلی FAT قدیمی تر هستند. لینوکس نیز سیستم های فایلی مخصوص به خود دارد. سیستم دیفالت که برای لینوکس استفاده می شود ext۲ است که هم اکنون به ext۳ تغییر یافته است. ▪ درجه بندی فایل ها: ویندوز و لینوکس از راه کاری متفاوت در درجه بندی فایل های خود استفاده می کنند. ویندوز از درجه بندی فایل ها بر مبنای حجم استفاده می کند، لینوکس طرحی یکپارچه را به کار می بندد. ویندوز برای نشان دادن ابزارها و تقسیم بندی های سخت افزاری متفاوت از حروف الفبا استفاده می کند. تحت ویندوز شما باید از حجم یک فایل برای انتخاب آن مطلع باشید. در لینوکس تمامی دایرکتوری ها به دایرکتوری اصلی ضمیمه شده است. در لینوکس استانداردی در این که کدام دایرکتوری های فرعی برای کدام ابزار استفاده می شود، وجود ندارد و این در حالی است که دیسک A همیشه برای فلاپی درایو استفاده می شود و دیسک سی بخشی از تقسیسم بندی بوت شده است. ● فایل های مخفی سیستم عامل ویندوز و لینوکس هر دو سیستم از فایل مخفی، فایل هایی که کاربر در هنگام لیست کردن در یک دایرکتوری آنها را نمی بیند، برخوردار هستند. ● Case Case با دستورات همانگونه که با اسامی فایل ها یکسان است. هنگامی که به دستوری در یک DOS وارد می شویم dir با DIR یکسان است، اما در لینوکس dir دستوری متفاوت با DIR می باشد. ▪ راه انداز چاپگر: اجرای چاپگر بر روی یک رایانه خیلی قدیمی و یا نسخه جدید ویندوز ممکن است عمل کند و یا عمل نکند. اما این در مقایسه با لینوکس که از چاپگرهای خود حمایت نمی کند، شرایطی بهتر است. ▪ داده های کاربر: برنامه های ویندوز موجب می شود اطلاعات کاربران را در هر کجا ذخیره کنند. این امر هارد را برای پشتیبانی از فایل های داده های کاربر غیر ممکن می سازد. لینوکس تمامی داده های کاربر را در دایرکتوری ذخیره می کند که شرایط را برای جابجایی از یک رایانه قدیمی به یک رایانه جدید آسانتر می سازد. ● خاموش کردن در سیستم عامل ویندوز و لینوکس در هر دو سیستم باید دستور داده شود تا عمل خاموش شدن انجام گیرد. خاموش کردن ویندوز از سوی بخش استارت و با انتخاب شات داون صورت می گیرد. لینوکس نیز می تواند با دستور شات داون خاموش شود. دستور شات داون می تواند با خاموش کردن فوری سیستم همراه باشد و یا رایانه را در زمانی داده شده در آینده خاموش کند. ● انتخاب لینوکس به جای ویندوز: پیش بینی ها از آینده روشن لینوکس خبر می دهند. دلیل این امر، رایگان بودن، بیشتر شدن کاربرد آن، استفاده از Open Office به عنوان یک تولید شگفت آور، شباهت زیاد آن به واسطه گرافیکی کاربر، کیفیت بالا و مقاومت آن در برابر هزاران ویروس و کرم ویندوز نام برده شده است. |
||
|
+
نوشته شده در یکشنبه یکم اردیبهشت 1387ساعت 7:28 بعد از ظهر توسط مسعود لپه چی
|
|
||
|
|
|
|
|
به نام خدا سلام به همه ی شما بازدید کنندگان !!!!! SVR4 مشترکا توسط موءسسات AT&TوsunMicrosystem توسعه یافت . این سیستم عامل ویژگیهای سیستم های عاملMicrosoft Xenix system .43BSD Sunos .SVR3را ترکیب کرده است SVR4 تقریبا باز نویسی کامل هسته System v می باشد و پیاده سازی تمیز ولی پیچیدهای را به وجود آورده است . از جمله ویژگیهای جدید آن حمایت از پردازش بلا درنگ کلاسهای زمانبندی فرایند تخصیص پویای ساختمان داده ها ، مدیریت حافظه مجازی ، سیستم پرونده مجازی و هسته با امکان قبضه کردن می باشد . SVR4 تلاشهای طراحان مراکز علمی و تجاری را به هم نزدیک کرده و برای این ایجاد شده تا سکوی یکنواختی را برای توسعه تجاریUNIX فراهم آورد SVR4 در این هدف موفق بوده است و شاید مهمترین نوعUnix موجود باشد . این سیستم عامل اکثر ویژگیهای مهم سیستمهای قبلی UNIX را در بر داشته است و این کار را به صورت مجتمع و از نظر اقتصادی قابل دوام انجام می دهد .SVR4 روی طیف وسیعی از ماشینهاذ ، از ریز پردازنده ها ی 32 بیتی تا ابر کامپیوترها اجرا می شود و یکی از مهمترین سیستمهای عاملی است که تا به حال ایجاد شده است . در این کتاب بسیاری از مثالهای UNIX ازSVR4می باشد . مدیریت فر ایند درUNIX SVR4 سیستم عامل UNIX SYSTEM V از امکان فر ایند به صورت ساده ولی قوی و قابل رویت برای کاربر استفاده می کند UNIX از مدل شکل 3-14ب استفاده می کند که در ان یخش اعضم سیستم عامل در داخل محیط فرایند کاربر اجرا می شود بنا بر این دو حالت کاربر و هسته لازم است UNIX از دو گروه فرایندهای سیستمی در حالت هسته اجرا می شوند و کد سیستم عامل را برای انجام اموری مثل تخصیص حافظه و مبادله فرایند اجرا می کند . فرایندهای کاربری برای اجرای برنامه های کاربر و برنامه های سودمند در حالت کاربر و برنامه های سودمند در حالت کاربر و برای اجرای دستور العملهای متعلق به هسته در حالت هسته است . فرایند کاربر با صدور یک فراخوانی سیستم ، با ایجاد یک استثنا ( خرابی ) و یا بروز وقفه وارد حالت هسته می شود . حالتهای فرایند سیستم عاملUNIX نه حالت را برای فرایند می شناسد این نه حالت در جدول 3-9 و یک نمودار تغییر حالت در شکل 3-16 ( بر اساس شکلی در (BACH86) نشان داده شده است . این شکل مشابه شکل 3-7 با دو حالت خفته ، متناظر دو حالت مسدود است می توان تفاوتها را به صورت زیر خلاصه کرد : UNIX از دو حالت اجرا استفاده می کند : یکی برای اجرای فرایند در حالت کاربر و دیگری برای اجرای فرایند در حالت هسته . حالات اماده اجرا و در حافظه و قبضه شده متمایزند . این دو در اصل همان طور که خط نقطه چین در شکل نشان می دهد ) یک حالت هستند و تمایز برای تاکید ب ر چگونگی ورود به حالت قبضه شده است . هنگامی که نتیجه یک فراخوانی سرپرست ، وقفه ساعت یا وقفه ورودی / خروجی فرایندی در حالت هسته در حال اجراست . زمانی می رسد که هسته کار خود را انجام داده و آماده بر گرداندن کنترل به برنامه کابر است . در این نقطه ممکن است هسته تصمیم بگیرد به خاطر فرایندی که آماده و با اولویت بیشتری است فرایند جاری را قبضه کند . در این حالت فرایند جار ی به حالت قبضه شده می رود با این وجود به منظور وقت پردازنده . فرایندهایی که در حالت قبضه شده هستند و همچنین فرایندهایی که در حالت آماده اجرا و در حافظه هستند . یک صف را تشکیل می دهند . قبضه فقط موقعی میتوان اتفاق بیافتد که فرایندی در شرف رفتن از حالت هسته به حالت کار بر باشد فرایندی مکه در حالت هسته در حال اجراست . ممکن نیست قبضه شود این نکته سیستم عاملUNIX را برای پردازش بلا درنگ نامناسب می کند. دو فرایند درUNIX یکتا هستند . فرایند صفر فرایند ویژه ای است که در موقع راه انداز یسیستم ، بار شده است در واقع به صورت یک ساختمان داده قبلا تعریف شده و در زمان راهد اندازی سیستمئ بار شده است . فر ایند صفر همان فرایند مبادله کننده می باشد . به علاوه فرایند صفر فرایند یک را که به آن فرایند محاوره ای جدید با سیستم ارتباط بر قرار می کند این فرایند یک است که برای او یک فرایند کار بری ایجاد می کند . متعاقبا برنامه کاربر می تواند درخت وار فرایندهای مختلفی را ایجاد می کند . متعاقبا برنامه کابر می تولند درخت وازر فرایندهای مختلفی را ایجاد بنماید . بنابر این هر کاربرد خاص می تواند شامل فرایندهای متعددی باشد . شرح فرایند در UNIXهر فرایند مجموعه پیچیده ای از ساختمان داده هایی است که تمام اطلاعات لازم برای مدیریت و توزیع وقت پردازنده به فرایند ها را در اختیار سیستم عامل قرار می دهد . جدول 3-10 عناصر تصویر فرایند را که در سه بخش متن سطح کاربر متن ثابت و متن سطح سیستم سازماندهی شده خلاصه کرده است . متن سطح کاربر حاوی عناصر پایه ای برنامه کاربر است و می تواند مستقیما از پرونده ترجمه شده مقصد تولید گردد . برنامه کابر به نواحی به نوااحی داده ها و متن برنامه تفکیک شده است . ناحیه متن برنامه فقط خواندنی و برای نگهداری دستورالعملهای برنامه می باشد . هنگامی که فرایندی در حال اجحراست . پردازنده از ناحیه پشته کاربر برای فراخوانیها و بازگشتهای رویه و برای انتقال پارامتر استفاده می کند . ناحیه حافظه مشترک داده ای است که با فرایند های دیگر مشترک است . فقط یک نسخه فیزیکی از ناحیه حافظه مشترک وجود دارد . ولی با استفاده از حافظه مجازی این طور به نظر می رسد که این ناحیه مورد اشتراک از حافظه در فضای آدرسها ی هر یک از فرایندهای شریک وجود دارد . وقتی فرایندی در حال اجرانیست اطلاعات وضعیت پردازنده در ناحیه متن ثابت ذخیره شده است . متن سطح سیستم حاوی بقیه اطلاعات مورد نیاز سیستم عامل برای مدیریت فرایند و شامل یک بخش ایستا و یک بخش پویا است . اندازه بخش پویا در طول حیات فرایند تغییر می کند . یکی از عناصر بخش ایستا مدخل جدول فرایند است . این در و.اقع بخشی از جدول فرایند است که برای هر فرایند یک مدخل داشته و توسط سیستم عامل نگهداری می شود مدخل جدول فرایند اطلاعات کنترل فرایند که همواره در دسترس هسته است در بر دارد . بنا بر این در یک سیستم حافظه مجازی تمام مدخلهای جدول فرایند را فهرست کرده است ناحیه کاربر یا ناحیه uحاوی اطلاعات اضافی گکنترل فرایند است . اطلاعاتی کهد فقط هنگامی که هسته در متن این فرایند در حال اجرااست به آنها احتیاج دارد . از این اطلاعات در موقع صفحه بندی فرایندها به / از حافظه نیز استفاده می شود (جدول 3-12) تمایز بین مدخل جدول فرایند و ناحیهu منعکس کننده این حقیقت است که هسته UNIXهمواره در متن فرایند اجرا می شود اغلب اوقات هسته با همان فرایند سرو کا ردارد ولی بعضی مواقع مثل هنگامی که هسته عمل زمانبندی برای توزیع وقت پردازنده به فرایند دیگر را انجام می دهد نیاز به دسترسی به اطلاعات فرایندهای دیگر را دارد . سومین بخش ایستای متن سطح سیستم جدول ناحیه هر فرایند می باشد که سیستم مدیریت حافظه از آن استفاده می کند . پشته هسته بخش پویای متن سطح سیستم است . هنگامی که فرایند در حالت هسته اجرا می شود . این پشته مورد استفاده قرار گرفتهد و حاوی اطلاعاتی است که با فراخوانیهای رویه وبروز وقفه باید ذخیره و بازیابی گردد . کنترل فرایند ایجاد فرایند درUNIX به وسیله fork که یک فراخوان هسته سیستم است صورت می گیرد وقتی فرایندی درخواست forkمیکند سیستم عامل اعمال زیر را انجام می دهد BACH86 1. برای فرایند جدید 2. یک شناسه یکتا برای این فرایند فرزند در نظر می گیرد 3. یک کپی از تصویر فرایند پدر (به استثنای حافظه های مشترک ) ایجاد می کند . 4. شمارنده های پرونده هایی که متعلق به پدر بود را افزایش می دهد ( مبنی بر اینکه آن پرونده ها متعلق به یک پرونده دیگر هم هستند ) 5. فرایند فرزند را در حالت اماده اجرا قرار می دهد . 6. شماره شناسنامه فرزند را به فرایند پدر و مقدار صفر را به فرایند فرزند بر می گرداند . تمام این اقدامات در حالت هسته در فرایند پدر صورت می گیرد . وقتی که هسته تمام این اعمال را کامل کند می تواند یکی از اعمال زیر را به عنوان بخشی از رویه توزیع کنده وقت پردازنده انجام می دهد . 1. ماندن در فرایند پدر . در نقطه فراخوانی forkکنترل به حالت کاربر بر می گردد 2. انتقال فرایند به فرایند فرزند. اجرای فرایند فرزند از نقطه مشابه در کد فرایند پدر یعنی پس از بازگشت از فراخوانی forkشروع می شود . 3. انتقال کنترل به فرایند دیگر . هم فرایند پدر و هم فرایند فرزند در حالت آماده اجرا قرار می گیرند . شاید تصویر این روش ایجاد فرایند مشکل باشد به دلیل اینکه هم فرایند پدر و هم فرایند فرزند کد کد یکسانی را اجرا می کنند تفوت این اسن که وقتی بازگشات از forkاتفاق می افتد پارامتر بازگشتی بررسی می شود . اگر مقدار پارامتر بازگشتی صفر باشد . این فرایند فرزند است و می تواند با اجرای انشعابی به برنامه مناسبی از کاربر اجرای آن ادامه یابد . اگر مقدار بازگشتی غیر صفر باشد فرایند پدر است و روند اصلی اجرا می تواند ادامه یابد . 10-4 زمانبندیUNIX SVR4 اگوریتم زمانبندی UNIX SVR4 نتیجه بازسازی کامل الگوریتمهای مورد استفاده در سیستمهای قبلیUNIXاست ( در بخش 9-3 بیان شد). الگوریتم جدید با این هدف طراحی شده است که بالا ترین اولویت را ابتدا به فرایندهای بلا درنگ سپس به فرایندهای حالت هسته و پایینترین اولویت را به فرایند حالت کاربر ( که به آن فرایند های اشتراک زمانی می گویند ) بدهد . دو تغییر عمده که درSVR4 پیاده سازی شده است عبارتند از : 1. اضافه کردن : زمانبندی با قابلیت قبضه کردن و اولویت ایستا و معرفی مجموعه ای از 160 سطح اولویت که در سه طبقه تقسیم شده اند . 2. تعیین نقاط قبضه کردن : نظر به اینکه هسته اصلی قبضه کردنی نیست ، تنها می تواند به گامهای پردازشی شکسته شود ، گامهایی که باید بدون وقفه تا کامل شدن اجرا گردند . در بین پردازش گامها ، محلهای امنی تحت عنوان نقاط قبضه کردن معین شده است . جایی که هسته می تواند با وقفه در پردازش یک فرایند جدید را زمانبندی تماید . محل امن به صورت ناحیهای از کد تعریف می شوند که تمام ساختمان داده های هسته یا به هنگام شده و ثابت است یا توسط یک راهنما قفل شده است . 160 سطح اولویت تعریف شده درSVR4در شکل 10-10نمایش داده شده است . با این تعریف که هر فرایند متعلق به یکی از طبقات اولویت و در داخل آن طبقه یک سطح اولویت به آن نسبت داده شده است طبقه ها به صورت زیر هستند : * بلادرنگ (159تا100) : فرایندهایی که دراین سطوح اولویت هستند قبل از فرایندهای هسته و فرایندهای اشتراک زمانی برای اجرا انتخاب می شوند به علاوه فرایندهای بلادرنگ می توانند از نقاط قبضه کردن استفاده کرد ه و فرایندهای هسته و فرایندهای کاربر را قبضه کنند . * هسته (99تا60) فرایندهایی کهدراین سطوح اولویت هستند قبل از کلیه فرایندها ی اشتراک زمانی برای اجرا انتخاب می شوند اما باید بعد از فرایندهای بلادرنگ باشند . * اشتراک زمانی (59تا0) این فرایندها کمترین اولویت را دارند و برای کاربدهای غیر بلا درنگ کاربران هستند . شکل 11-10 چگونگی پیاده سازی زمانبندی در SVR4 را نشان می دهد برای هر سطح اولویت یک صف توزیع وقت پردازنده وجود دارد ودر انفرایندها به صورت نوبت گردشی اجرا می شوند . برداریبه نام dqactmapحاوی یک بیت برای هر یک از سطوح اولویت است که در صورت خالی نبودن صف مربوط به آن سطح مقدار یک می گیرد . هر گاه فرایندی به دلیل مسدود شدن اتمام برهه زمانی یا قبضه شدن از حالت اجرا خارج گردد توزیع کننده وقت پردازنده ، بردارdqactmap بردار را بررسی کرده و وقت پردازنده را به فرایند آماده ای از با اولویت ترین صف غیر تهی توزیع می کند . بعلاوه در هر یک نقاط قبضه کردن هسته پرچمی بنام kprunrunرا برسی می کند . بر پا بودن این پرچم مبین وجود حد اقل یک فرایند بلا درنگ در حالت اماده است . | ||