دسته بندی | کامپیوتر و IT |
بازدید ها | 10 |
فرمت فایل | doc |
حجم فایل | 23 کیلو بایت |
تعداد صفحات فایل | 23 |
اصول سیستمهای عامل توزیع شده
در طول دو دهه اخیر، حصول پیشرفت در تکنولوژی میکروالکترونیک باعث در دسترس قرار گرفتن پردازندههای ارزان و سریع شده است. از سوی دیگر پیشرفتهای موجود در تکنولوژی ارتباطات باعث به وجود آمدن شبکههای سریع تر و به صرفهتر شده است. از ترکیب پیشرفتها در این دو میدان از تکنولوژیها تکنولوژی ارزانتر و کاراتری به وجود آمده که در آن به جای این که از یک پردازنده خیلی سریع استفاده شود، از چند پردازنده معمولی که به هم متصل شدهاند استفاده میشود.
از نظر معماری، کامپیوترهایی که از چندپردازنده متصل به هم تشکیل شدهاند اساساً بر دو دسته تقسیم میشوند.
1- سیستمهای جفت شده قوی
2- سیستمهای جفت شده ضعیف
1- سیستمهای جفت شده قوی:
در این سیستمها یک حافظه اولیه (فضای آدرس) عمومی وجود دارد که میان همه پردازندهها به اشتراک گذاشته شده است. اگر برای مثال، پردازندهای در محل × از حافظه مقدار 100 را بنویسد هر پردازنده دیگری که بلافاصله از همان آدرس × بخواند مقدار 100 را دریافت خواهد کرد. بنابراین در این سیستمها هر نوع تبادل میان پردازندهها از طریق حافظه مشترک صورت میگیرد
سیستمهای جفت شده ضعیف:
در این معماری پردازندهها حافظه را به اشتراک نمیگذارند و هر پردازنده فضای آدرسدهی محلی مختص به خود را دارد. برای مثال اگر پردازندههای در محل × از حافظه مقدار 100 را بنویسد این عمل فقط محتویات حافظه محلی را عوض خواهد کرد و تاثیری در محتوای حافظه پردازنده های دیگر نخواهد داشت. بنابراین اگر هر پردازنده دیگری از محل× از حافظه را بخواند هرچیزی که قبلاً در آن محلی از حافظه محلی آن بوده به تحویل داده خواهد شد. در این نوع سیستمها هرگونه تبادل میان پردازندهها از طریق شبکهای که پردازندهها را به هم متصل کرده و توسط انتقال پیغام انجام میگیرد.
معمولاً به سیستمهای جفت شده قوی، سیستمهای پردازش موازی اطلاق می گردد و به سیستمهای جفت شده ضعیف «سیستمهای محاسبات توزیع شده» یا به طور سادهتر «سیستمهای توزیع شده» اطلاق میشود.
در این مقاله منظور از جمله سیستم توزیع شده» همان سیستمهای توزیع شده واقعی یا «سیستمهای محاسبات توزیع شده» است که از سیستم عاملهای توزیع شده استفاده میکنند.
در این مقاله عبارت «سیستمهای محاسبات توزیع شده» برای سیستمهای جفت شده ضعیف به کار برده خواهد شد. در مقایسه با سیستم های جفت شده قوی، پردازندههای سیستمهای محاسبات توزیع شده میتوانند خیلی دور از هم قرار گرفته باشند تاحدی که یک ناحیه جغرافیایی را تحت پوشش قرار دهند. بعلاوه، در سیستمهای جفت شده قوی، تعداد پردازندههایی که به طور موثر میتوانند مورد استفاده قرارگیرند مواجه با محدودیت ناشی از پهنای باند حافظه مشترک است، در حالی که در سیستمهای محاسبات توزیع شده چنین حالتی وجود ندارد و تقریباً به طور کامل آزادی داریم که هر تعداد که دلمان خواست پردازنده داشته باشیم. یعنی محدودیتی در مورد تعداد پردازندهها در «سیستمهای محاسبات توزیع شده» وجود ندارد.
به طور خلاصه یک سیستم محاسبات توزیع شده اساساً مجموعهای است از پردازندههایی که توسط یک شبکه ارتباطی به هم متصل شدهاند که هر پردازنده حافظه محلی و دستگاههای جانبی خود را دارد و ارتباط میان هر دو جفت پردازنده از سیستم از طریق عبور پیغام از شبکه ارتباطی صورت میگیرد. برای هر پردازنده، منابع آن «محلی» هستند و این در حالی است که پردازندههای دیگر و منابع آنها «دور» هستند به پردازنده و منابع آن به طور معمول «گره»، «سایت» یا «ماشین» سیستم عامل توزیع شده اطلاق میشود.
در ابتدا کامپیوترها خیلی گران (در حد میلیون دلار) بودند و جای زیادی را اشغال می کردند (در حد یک اتاق بزرگ) تعداد کمی کامپیوتر وجود داشت و آنها در لابراتوارهای تحقیقاتی دانشگاهها و مراکز صنعتی بود. این کامپیوترها از یک کنسول و بوسیله یک اپراتور قابل استفاده بودند وکاربران عادی نمیتوانستند از آن استفاده کنند. برنامه نویسان، برنامههای خود را مینوشتند و آن را روی رسانهی خاصی مثل کارت پانچ شده به مرکز کامپیوتر تحویل میدادند تا مورد پردازش قرار گیرند. قبل از پردازش یک برنامه، اپراتور باید محیط لازم برای پردازش را آماده سازی می کرد. این آماده سازی شامل سوار کردن نوارها و بارگذاری کارتهای پانچ شده در کارت خوان و … بود. برنامه اجرا میشود و نتایج اجرای برنامه به صورت پرینت شده به برنامه نویس برگشت داده میشد.
آماده سازی کار در کامپیوترهای اولیه یک مشکل اساسی بود و بسیاری از وقت CPU را هدر میداد. در سالهای 1950 تا 1960 مفاهیم جدیدی برای بهینه سازی صرف وقت CPU ارائه شده که از میان آنها میتوان به موارد زیر اشاره کرد:
دسته بندی | برنامه نویسی |
بازدید ها | 23 |
فرمت فایل | doc |
حجم فایل | 50 کیلو بایت |
تعداد صفحات فایل | 30 |
توضیحات مختصری در مورد زبانهای برنامه نویسی
DELPHI -1
C++ -2
C# -3
BASIC -4
FORTRAN -5
VISUAL BASIC -6
DELPHI -1
دِلفی (Delphi) یا به تعبیری ویژوآل پاسکال – یک زبان برنامهنویسی است و بستری برای توسعهٔ نرمافزار که شرکت بورلند آن را تولید کرده است. این زبان، در بدو انتشار خود در سال ۱۹۹۵، به عنوان یکی از نخستین ابزارهایی مطرح شد که از توسعهٔ نرمافزار بر مبنای متدولوژی RAD((Rapid Application Developmentپشتیبانی میکردند؛ یعنی تولید و توسعهٔ سریع برنامههای کاربردی این نرم افزار بر مبنای پاسکال شیگرا بوده و از این زبان مشتق شده است. البته بورلند نسخهای از دلفی و سیپلاسپلاسبیلدر را برای لینوکس به نام کایلیکس (Kylix) ارائه کرد که مورد استقبال توسعه دهندگان نرمافزارهای لینوکس قرار نگرفت. نرمافزارهای دلفی در ابتدا به صورت مستقیم از کتابخانههای ویندوز و کتابخانهٔ مخصوص خود به نام VCL استفاده میکرد، اما پس از نسخه ۶ دلفی، امکانات استفاده از داتنت هم به آن اضافه شد. در حال حاضر میتوان دلفی را یکی از رایجترین زبانهای ممکن در ایران دانست.زبانِ دلفی که پیشتر بنام پاسکال شیءگرا (Object-Pascal) خوانده میشد و برای طراحی نرمافزاهای تحت ویندوز به کار میرفت، امروزه چنان توسعه یافته است که برای تولید نرمافزارهای تحت سیستمعاملِ لینوکس و داتنت نیز به کار میآید. بیشترین کاربرد دلفی در طراحی برنامههای رومیزی و پایگاه دادهها است، اما به عنوان یک ابزارِ «چند- منظوره»، برای طراحی انواع گوناگونی از پروژههای نرمافزاری نیز مورد استفاده قرار میگیرد.
دلفی 2006
شرکت بورلند در سال ۲۰۰۶ نرمافزار جدید خود را با ویژگیهای جدید به بازار ارائه کرد. این برنامه جدید امکان برنامه نویسی با دلفی و سی پلاس پلاس و همچنین سیشارپ را بطور همزمان ارائه میدهد. بدین ترتیب برنامه نویسانی که با ابزارهای مختلفی کار میکنند براحتی میتوانند در این محیط جدید برنامه نویسی کنند. ویژگی مهم این نگارش نسبت به نگارش ۲۰۰۵ بحث مدیریت حافظه است. در نگارش ۲۰۰۵ ضعفهائی در این زمینه وجود داشت که در این نسخه حل شده است. شرکت بورلند افتخار دارد که به عنوان اولین شرکت تولید کننده IDE زبانهای برنامه نویسی مانند دلفی و سی شارپ بیلدر و جی بیلدر(مخصوص زبان جاوا) و .... از تکنولوژی دات نت در محصولات خود استفاده کرده است.
دلفی 2007
در اواخر سال 2006 شرکت بورلند یک شرکت تابع با نام CodeGear را تاسیس کرد تا این شرکت بتواند تمام انرژی خود را صرف محیط های برنامهنویسی مشهور خود یعنی دلفی و ++C بیلدر و... کند. بن اسمیت نام اولین مدیر CodeGear بود. شرکت بورلند نیز فعالیتهای خود را در زمینه Application Lifecycle Management ادامه میدهد. اولین محصول این شرکت، CodeGear Delphi 2007 هست که بسیاری از نقائص موجود در دلفی 2006 از جمله سرعت پائین آن در این محصول برطرف شده است و بعد از دلفی 7 میتوان از آن به عنوان محصولی مطمئن و قابل استفاده نام برد، هر چند که دلفی 2006 هم محصولی کارامد هست. از دیگر محصولات CodeGear میتوان به Delphi 2007 For PHP اشاره کرد که تحول شگرفی در رابطه با استفاده از تکنولوژی Ajax در دلفی است.
C++ -2
زبان برنامهنویسی ++C (تلفظ می شود: سی پلاس پلاس) یک زبان برنامهنویسی کامپیوتری عمومی با قابلیتهای سطح بالا و سطح پایین میباشد. این زبان دارای قابلیتهای کنترل نوع ایستا، نوشتار آزاد، چندمدلی، معمولا زبان ترجمه شده با پشتیبانی از برنامهنویسی ساختیافته، برنامهنویسی شیگرا، برنامه نویسی جنریک است.
زبان ++c یک زبان سطح میانی در نظر گرفته میشود. این زبان دارای قابلیت زبانهای سطح بالا و پایین بصورت همزمان است.
زبان ++C توسط بییارنه استراستروپ دانمارکی در سال ۱۹۷۹ در آزمایشگاه های بل (Bell Labs) و بر مبنای زبان C ساخته شد و آن را "C با کلاس" نامگزاری نمودند. در سال ۱۹۸۳ به ++c تغییر نام داد. توسعه با اضافه نمودن کلاسها و ویژگیهای دیگری مانند توابع مجازی، سربارگزاری عملگرها، وراثت چندگانه، قالب توابع، و پردازش استثنا انجام شد. این زبان برنامهنویسی در سال ۱۹۹۸ تحت نام ISO/IEC 14882:1998 استاندارد شد. نسخه فعلی استاندارد این زبان ISO/IEC 14882:2003 است. نسخه جدیدی از استاندارد (که به صورت غیررسمی C++0x نامیده میشود) در دست تهیه است.
تاریخچه زبان
استراستروپ کار بر روی زبان «c با کلاس» را در سال ۱۹۷۹ آغاز کرد.ایده ساخت این زبان جدید در زمان کار بر روی تز دکترای خود به ذهن استراستروپ خطور نمود. او متوجه شد که سیمولا دارای ویژگیهای مناسب برای ساخت برنامههای بسیار بزرگ است اما برای استفاده عملی بسیار کند است اما BCPL با وجود سرعت بسیار زیاد برای ساخت برنامههای بزرگ بسیار سطح پایین است. زمانی که استراستروپ کار خود را در آزمایشگاه های بل (Bell Labs) آغاز نمود با مشکل تحلیل هسته unix با توجه به محاسبات توزیع شده روبرو شده بود. با یادآوری تجربیات خود در دوران دکترا، او زبان C را با استفاده از ویژگیهای سیمولا گسترش داد. C به این دلیل انتخاب شد که C یک زبان عمومی، سریع، قابل حمل، و بصورت گسترده در حال استفاده بود. علاوه بر C و سیمولا زبانهای دیگری مانند ALGOL 68، ADA، CLU، ML نیز بر ساختار این زبان جدید اثر گذاشت. در ابتداویژگیهای کلاس، کلاسهای مشتق شده، کنترل نوع قوی، توابع درون خطی، و آرگومان پیشفرض از طریق Cfront به C اضافه شد. اولین نسخه تجاری در سال ۱۹۸۵ ارائه شد.در سال ۱۹۸۳ نام زبان از «C با کلاس» به ++C تغییر یافت. ویژگیهای دیگر شامل توابع مجازی، سربارگزاری عملگر و نام تابع، ارجاعات، ثوابت، کنترل حافظه توسط کاربر بصورت آزاد، کنترل نوع بهتر، و توضیحات یک خطی به صورت BCPL با استفاده از «//» نیز به آن اضافه شد. در سال ۱۹۸۵ اولین نسخه زبان برنامهنویسی ++C انتشار یافت و مرجع مهمی برای این زبان فراهم شد در حالی که هیچ استاندارد رسمی وجود نداشت. در سال ۱۹۸۹ ویرایش 2.0 از زبان ++C ارائه شد. ویژگیهای جدیدی مانند ارثبری چندگانه، کلاسهای انتزاعی، اعضای ایستای توایع، اعضای ثابت تابع، و اعضای حفاظت شده به آن اضافه شد. در سال ۱۹۹۰ «راهنمای مرجع ++C » منتشر شد. این کار بنیان استانداردهای بعدی شد. آخرین ویژگیهای اضافه شده شامل موارد زیر بودند: قالب توابع، استثناها، فضاهای نام، تبدیلات جدید، و یک نوع داده منطقی.در حین تکامل ++C کتابخانه استاندارد نیز بوجود آمد. اولین نسخه کتاب استاندارد شامل کتابخانه جریانات I/O بود که جایگزین printf و scanf شد. در ادامه مهمترین ویژگی اضافه شده Standard Template Library بوده است.
استاندارد زبان
بعد از سالها کار کمیته مشترک ANSI–ISO در سال ۱۹۹۸ ++C را استاندارد نمودند (ISO/IEC 14882:1998). به مدت چند سال پس از انتشار استاندارد این کمیته گزارشات معایب را مورد بررسی قرار داده نسخه اصلاح شده استاندارد ++C منتشر شد. در سال ۲۰۰۵ گزارشی فنی بنام «گزارش فنی کتابخانه ۱» (که معمولا بصورت اختصار TR1 خوانده میشود) انتشار یافت. با وجود این که گزارش بخشی رسمی از استاندارد نیست ولی بخشهایی را به آن اضافه نموده که انتظار میرود در نسخههای بعدی استاندارد در نظر گرفته شود. پشتیبانی از این گزارش در حال افزایش بین تمام کامپایلرهای فعلی است.در حالی که ++C به هیچ موسسهای وابسته نیست این مستندات بصورت آزادانه در دسترس نیستند.
دسته بندی | حقوق |
بازدید ها | 14 |
فرمت فایل | doc |
حجم فایل | 24 کیلو بایت |
تعداد صفحات فایل | 29 |
حقوق شهروندی در جهان امروز
مقدمه
بیشتر دولتهای ملی در اثر کوششهای پادشاهانی که به گونه ای موفقیت آمیز قدرت هرچه بیشتر را در دست خود متمرکز ساختند به صورت نظامهای سیاسی متمرکز و کارآمد درآمدند.
دولت دارای حاکمیت در آغاز دولتی نبود که شهروندان از حقوق مشارکت سیاسی برخوردار باشد این حقوق تا اندازه زیادی از طریق مبارزاتی که قدرت شاهان را محدود کرده یا عملاً آنان را برانداختند - گاهی از راه انقلاب، مانند موارد فرانسه یا ایلات متحده - کسب گردیدند.
تی اچ مارشال سه نوع در ارتباط با رشد شهروندی تشخیص داده است.
Marshall , 1973)) حقوق مدنی به حقوق فرد در قانون اطلاق می شوند. این حقوق شامل امتیازاتی است که بسیاری از ما آنها را امروز بدیهی می دانیم اما به دست آوردن آنها زمانی دراز طول کشید او به هیچ وجه در همه کشورها شناخته نشد.حقوق مدنی شامل آزادی افراد برای زندگی در هر جایی که انتخاب می کنند، آزادی بیان و مذهب، حق مالکیت و حق دادرسی یکسان در برابر قانون است این حقوق در بیشتر کشورهای اروپایی تا اویل قرن نوزدهم به طور کامل برقرار گردیده بود.
حتی در جاهایی که بطور کلی این حقوق کسب گردی، بعضی از گروهها از آن
مستثنی نمی شدند. 1 اگرچه قانون اساسی این گونه حقوق را قبل از آنکه بیشتر کشورهای اروپایی به دست آوردند به آمریکاییان داده بود اما سیاهان مستثنی گردیده بودند. حتی بعد از جنگ داخلی هنگامی که رسماً این حقوق به سیاهان داده شد، آنها قادر به اعمال آن نبودند.
دومین نوع حقوق شهروندی حقوق سیاسی است.
به ویژه حق شرکت در انتخابات و انتخاب شدن این حقوق نیز به آسانی و به سرعت به دست نیامد.
جز در ایالات متحده، دستیابی به حق رأی کامل حتی برای همه مردان پدیده نسبتاً جدیدی است و به ناچار می بایست با مبارزه در برابر حکومتهایی که مایل به تصدیق حق رأی همگانی نبودند به دست آید. در بیشتر کشورهای اروپایی، در آغاز حق رأی محدود به شهروندان مردی بود که مالک میزان معینی دارایی بودند. و حق رأی بگونه ای مؤثر به اقلیتی ثروتمند محدود می گردید. نه تنها زنان، بلکه اکثریت جمعیت مرد از حق رأی محروم بودند.
حق رأی همگانی برای مردان اکثراً در سالهای نخستین قرن حاضر به دست آمد. زنان ناچار گردیدند مدت زیادی انتظار بکشند، در بیشتر کشورهای غربی حق رأی برای زنان تا اندازه ای در نتیجه مبارزات جنبشهای زنان و تا حدی در اثر بسیج زنان در
1- جامعه شناسی - آنتونی گیدنز
اقتصاد رسمی در طی جنگ جهانی اول کسب گردید در حالی که در اروپا مردم حقوق قانونی و سیاسی کسب می کردند در بسیاری از نقاط دیگر جهان استعمار در حال پیشرفت بود. ملل مستعمره تقریباً بدون استثنا از حقوق شهروندی کامل در دولتهای ما در رژیم های استعماری ( و معمولاً در درون خود دولتهای استعمار نیز) محروم بودند. آن ملتهایی که برده نشده بودند از نظر اداره کنندگان سفید پوست ابتدایی تر از آن بودند که بتوان به آنها اجازه مشارکت در حکومت داد.
امکان مساوی در نظر گرفتن آنها با اجتماعات مهاجران سفید پوست حتی به تصور نیز درنمی آمد. اکثریت جمعیت تنها با از میان رفتن استعماردر قرن بیستم حقوق قانونی و سیاسی بدست آورد. سومین نوع حقوق شهروندی که مارشال تشخیص می دهد حقوق اجتماعی است. این حقوق به حق طبیعی هر فرد برای بهره مند شدن از یک حداقل استاندارد رفاه اقتصادی و امنیت مربوط می شود این حقوق شامل حقوقی مانند مزایای بهداشتی و درمانی، تأمین اجتماعی در صورت بیکاری، و تعیین حداقل سطح دستمزد است.
به سخن دیگر، حقوق اجتماعی به خدمات رفاهی مربوط می شود اگرچه در بعضی کشورها، مانند آلمان قرن نوزدهم، انواع مختلف مزایای رفاهی قبل از اینکه حقوق قانونی و سیاسی به طور کامل برقرار شوند، معمول گردیده بود، ولی در بیشتر جوامع اجتماعی آخرین حقوقی بوده است که پدید آمد.
علت این امر آن است که دستیابی به حقوق مدنی به ویژه حقوق سیاسی معمولاً اساس مبارزه برای کسب حقوق اجتماعی بوده است. حقوق اجتماعی تا اندازه زیادی در نتیجه نیروی سیاسی ای که گروهها یا طبقات فقیرتر توانسته اند از طریق بدست آوردن حق رأی کسب کنند برقرار گردیده است. گسترش حقوق اجتماعی، اساس آن چیزی است که دولت رفاه نامیده شده، دولتی که تنها از جنگ جهانی دوم به بعد در جوامع غربی پاگرفته است.
دولت رفاه در جایی وجود دارد که سازمانهای حکومتی برای کسانی که توانایی تأمین زندگی خود را به قدرکافی از طریق اشغال مفید ندارند - بیکاران، بیماران، از کار افتادگان و پیران - مزایای مادی فراهم می کنند. شالوده های دولت رفاه در بریتانیا در دهه 1930 تا اندازه زیادی در نتیجه سیاستهای حکومت غرب کارگر که بلافاصله بعد از جنگ انتخاب گردید بنیان نهاده شد ( Ashford - 1987 ) همه کشورهای غربی امروز خدمات رفاهی گسترده ای دارند، از سوی دیگر، در بسیاری از کشورهای فقیرتر جهان این مزایا تقریباً وجود ندارند.
یک قانون ساده در مورد تمام انسانها صادق است و یک نقطه مشترک در همه ما وجود دارد و آن اولویت منافع فردی به منافع دیگران است. و هرگاه کسی از پایین ترین تا بالاترین درجه در هر سمت و مقامی قرار گیرد این قانون راههای کسب منافع شخصی را به انسانها نشان می دهد.
در عصر حاضر که تمام مردم جهان در مجموعه هایی به نام کشور دور هم جمع شده اند و هرکدامشان تابع دولت کشورشان هستند و البته فرق هایی میان دولتهای جهان در نوع حکومت و اجرای قوانین خاص خودشان وجود دارد. مقامات و مسئولین حکومتی در هر جای دنیا و با هر مکتب و مرام سیاسی و دینی دارای قدرتی تحریف شده خود هستند و چون انسانها هستند مسئول قانون ابتدای نوشته می شوند و امکان سوء استفاده از مقامشان وجود دارد پس تنها چیزی که باعث نظم و جلوگیری از سوء استفاده آنها می شود قوانین است.
و این مسلم است که قوانین در هر کشوری موجود است ولی نظارت بر اجرای آن در همه کشورها یکی نیست. در همه دولتهای دنیا دولت سعی می کند به نفع خود و افزایش قدرت خود و به ضرر مردم قوانین را زیر پا گذاشته یا قوانین جدید تصویب کنند و در کشورهای در حال توسعه عدم آگاهی مردم از حقوق خود این عدم آگاهی از حقوق تشدید کننده خواهد بود. بخصوص در فرهنگ ایران که دارای حکومتهای دیکتاتوری در تمام طول تاریخ خود بوده و همواره مردم به عنوان دارائی پادشاه به حساب می آمدند و اختیار و آزادی نداشتند. حقوقی وجود نداشت و در طول زمان این فکر در فرهنگ مردم نسبت به حکومت رسوخ کرد که زورشان به آن نمی رسد پس برای حداقل در امان ماندن جان و مال بهتر است در مقابل قدرت طلبی آن سکوت کنند.