سیستم عامل کوثر

سیستم عامل فارسی کوثر

سیستم عامل کوثر

سیستم عامل فارسی کوثر

سیستم عامل کوثر

سیستم عامل کوثر یک سیستم عامل فارسی بر پایه معماری X86 می باشد. هدف این سیستم عامل تا اطلاع ثانوی آزمایشی / آموزشی می باشد. این سیستم عامل بر پایه هیچ سیستم عامل دیگری مانند لینوکس و ... نمی باشد و از ابتدا توسط توسعه دهندگان آن نوشته شده است.
ما از علاقمندان به برنامه نویسی و طراحی سیستم در همکاری و توسعه این سیستم عامل استقبال می کنیم. نیازی نیست که شما برنامه نویسی و یا ... خبره باشید. حتی با دانش کم هم می توان به ما کمک کرد.
امید است بعد از مراحل آموزشی به مرحله بهره برداری از یک سیستم عامل کاملا بومی برسیم.
emadrezvani@chmail.ir

آخرین نظرات
نویسندگان

۲۷ مطلب با موضوع «سیستم عامل کوثر» ثبت شده است

انتشار نسخه فراموش شده 0.1.2

عماد رضوانی | شنبه, ۱۵ آبان ۱۳۹۵، ۰۶:۲۲ ب.ظ

سلام.

​خیلی وقت هست که زمان و وقت کافی برای تحقیقات و توسعه این سیستم عامل کوچک نداشتم. یادش بخیر! 

​امروز بعد از مدت ها نگاهی به پوشه این سیستم عامل کردم و نگاهی هم به وبلاگ انداختم . متوجه شدم که آخرین نسخه از ویرایش اول (۱.۲) رو انتشار ندادم. هرچند که شاید کاربردی هم نداشته باشه اما انتشار دادنش هم خالی از لطف نیست. خیلی مشتاقم زمانی داشتم و این روند رو ادامه میدادم. دنیای سیستم عامل با تمام پیچیدگی هایی که داره اما با گذر زمان ساده به نظر میرسه.  سالها پیش در مد کرنل دیباگ و درایور می نوشتیم. زمانی که این کدهای ساده رو کنار هم میگذاشتیم متوجه میشدیم واقعا زمان کافی و نیرو نیازه که یک سیستم عامل قدرتمند برای کشور عزیزمون داشته باشیم. البته برخی از دوستان مشکل نبود پردازنده بومی رو مطرح می کردند و برخی هم تکنولوژی ها و ...

​اما بنده معتقدم با همه مشکلات باز هم میشه یک سیستم عامل بومی خوب داشت. دلایل منطقی برای اون زیاد میشه آورد. تلاش های خوبی هم بصورت انفرادی در این زمینه انجام شده. (البته تلاش های مالی خوبی هم انجام شد و دل مسئولین رو سرد کرد !!)  مهمترین مزیت امنیت و سازگار بودن با محیط بومی ما هست!

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

​فلسفه بافی رو کنار میزارم و آخرین نسخه از ویرایش اول(بدون مولتی تسک و ترد) رو برای دانلود قرار میدم.

دانلود​

راهنمایی خاصی نداره. کلید F2 برای هر پنجره قابلیت بزرگ شدن و کوچک شدن میزاره. یعنی اگه بار اول کلیک کنید به حالت جابجایی پنجره رفتین و اگر بار دیگه فشار بدید به حالت تغییر اندازه پنجره میرید. ​ ​کلید F4 نمایش log و ​کلیدهای F9-12 هم خودتون تست کنید.

​التماس دعا
موفق باشید.

  • عماد رضوانی

پیشرفت در MultiTasking

عماد رضوانی | سه شنبه, ۲۴ تیر ۱۳۹۳، ۰۲:۵۰ ب.ظ

تصاویر گویای پیشرفت کار هست. مبحث Multitasking بسیار گسترده هست و خیلی از اجزای سازنده هسته رو تحت تاثیر قرار میده. برای شروع ما فقط قصد نحوه راه اندازی پایه ساختار Multitasking رو خواهیم داشت و هنوز ساختار خاصی برای هسته جدید در نظر نگرفتیم!


  • عماد رضوانی

هسته جدید و پیشرفت در Multitasking

عماد رضوانی | شنبه, ۲۱ تیر ۱۳۹۳، ۱۰:۳۹ ب.ظ

سلام. بلاخره شروع به نوشتن هسته جدید کردیم. تصویر اول نمایانگر بازنویسی هسته جدید با نسخه 2.0.0(به دلیل اینکه نسخه ۱ ادامه نسخه قبل خواهد بود-نسخه قبل عملکرد یکپارچه داشت-اگر چه این نسخه مقدار کمی تفاوت دارد)  هست. تصویر دوم نمایانگر Multitasking هست. حتما به مقادیر EIP دقت کنید(ویرایش: مقادیر EIP نباید بصورت منفی باشد - مشکل در قسمت نمایش مقدار در تابع itoa بود که حل شده):


  • عماد رضوانی

Multitasking و شروع دوباره

عماد رضوانی | جمعه, ۲۰ تیر ۱۳۹۳، ۰۲:۵۰ ب.ظ

سلام. شروع به نوشتن Multitasking کردیم و متوجه شدیم که باید مقداری از کدهای زیرساختی پروژه تغییر کنه. و این بهونه ای شد که یه بازنگری در مورد طراحی هسته انجام بدیم. مسلما روزی که شروع به توسعه این سیستم عامل کردیم دانش فعلی رو نداشتیم و مسلما چند ماه آینده هم دانش فعلی رو نداریم! پس احتمالا مدل جدید هم آزمایشی/آموزشی هست.

احتمالا دیگه بروزرسانی هسته فعلی رو نداشته باشیم. هسته فعلی بصورت یکپارچه طراحی شده بود.تصویر زیر برگرفته از ویکی هست که تفاوت چند نوع هسته رو نشون میده:



بزودی شروع به توسعه هسته جدید میکنیم. تا اون موقع در حال بررسی معماری های هسته و انتخاب یک مدل برای توسعه هستیم. برای انتخاب یک مدل باید موارد زیادی رو مد نظر قرار داد. در انتشار جدید حتما خبرهای خوبی از SDK خواهید شنید.

التماس دعا.


  • عماد رضوانی

آخرین تغییرات Dialog , مدیر حافظه

عماد رضوانی | پنجشنبه, ۱۹ تیر ۱۳۹۳، ۱۱:۱۷ ق.ظ

با سلام. مدیر حافظه تا حدودی آماده کار هست. البته الگوریتم های مدیر حافظه بصورت پایه نوشته شده است و باید به مرور زمان بازنویسی شود. در حال حاضر تابع malloc پیاده سازی شده است که البته پیش نیاز اون paging و VirtualMemory بوده که نوشتیم.

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



  • عماد رضوانی

اتمام بخش اولیه Dialog به همراه دیسک سیستم عامل

عماد رضوانی | سه شنبه, ۱۷ تیر ۱۳۹۳، ۱۲:۵۸ ق.ظ

با سلام.

بلاخره بخش اصلی مربوط به Dialog تموم شد و حالا به راحتی میتونیم شروع به نوشتن بخش مدیر حافظه کنیم.

تصاویر زیر گویای همه چیز هست. من فایل هارد سیستم عامل رو برای WMVare و دیگر مجازی ساز های برای دانلود گذاشتم.

دانلود دیسک مربوط به بخش Dialog

آموزش نصب و راه اندازی


>

  • عماد رضوانی

معرفی افراد جدید تیم و عملکرد دو ماهه

عماد رضوانی | چهارشنبه, ۱۱ تیر ۱۳۹۳، ۰۶:۵۵ ب.ظ

با سلام. 

خوشحالیم که در کمتر از 2 ماه توانستیم مبانی طرح و طراحی یک سیستم عامل رو از ابتدا پایه ریزی کنیم. توی این مدت افراد زیادی به ایمیل بنده حقیر پیام دادند و ما رو نقد کردند و برخی هم با پیشنهادات و راهنماییهایشون ما رو دل گرم به این کار می کردند. به هر حال تغریبا ۲ ماه گذشت.  تصاویر زیر روند پیشرفت ۲ماهه ما رو به نمایش گذاشته است!

در این زمان دوستانی به ما درخواست همکاری دادند و البته ما هم به چند تن از دوستان دعوت به همکاری دادیم. در این میان 2 نفر از دوستان به عنوان نویسنده و ایده پرداز در وبلاگ با ما بطور ویژه ارتباط خواهند داشت و ورود اونها رو به تیم خوش آمد میگم.

آقای مازیار نظریان

آقای سید امیر محمد حسن لی

دوستان دیگر هم که معرف دوستان هست:

آقای بنی طبا

آقای سانیان

و...

بنده چند روزی مشهد هستم و احتمالا وقت نشه هسته و  توابع زیر ساختی رو توسعه بدم. انشاا.. بعد از سفر   دوباره و با قدرتی مضاعف روند توسعه رو با همراهی دوستان پیش خواهیم گرفت.

بارگذاری کرنل

تصویر جدید از نسخه 0.1.0

تصویر جدید از نسخه 0.1.0


 و ....

  • عماد رضوانی

مدل توسعه سیستم عامل کوثر و ادامه توسعه Dialog

عماد رضوانی | دوشنبه, ۹ تیر ۱۳۹۳، ۱۱:۲۱ ق.ظ

سلام. دوستان ایمیل داده بودند که چرا به جای وقت گذاشتن روی مباحث ریشه ای سیستم عامل ما روی مباحث حاشیه ای هم وقت می گذاریم ؟!!‌؟ واقعا چرا؟!

مدل توسعه سیستم عامل کوثر

بنده و ایده پردازان این سیستم عامل بر این باوریم که باید تمام مباحث و دانش مربوط به سیستم عامل رو فرا گرفت و آون رو پیاده سازی کرد. اما نکته ای در اینجا مطرح هست. مشکل این طرح چیست؟

مشکل پیاده سازی تمام دانش های سیستم عامل نیاز به صرف وقت بالا و بالا بردن سطح دانش و مسلط بودن بر تمامی بخش های مرتبط با اون می باشد. روشی که ما پیش رو گرفتیم سیستم پیشرفت بر اساس "وجود استثنا" می باشد. یعنی ما توسعه این سیستم عامل رو از پایه ترین مباحث شروع می کنیم. زمانی که یک کمبود احساس کنیم به توسعه اون می پردازیم. اون کمبود یک استثنا می باشد. البته مشکلات این طرح زمانبر بودن آن هست. ولی مزیتی که دارد این هست که ما مشکل را لمس می کنیم و برای آن مشکل یک راه حل ارائه می دهیم.(البته با تحقیق و ..). پس اگر به روند کار تا به اینجای کار دقت کنید حتما به این موضوع پی خواهید برد. مثلا یکی از مشکلات فارسی ساز بود و اون تا حدی حل شد. مشکل بعدی فایل سیستم و اون هم تا حد رفع مشکل حل شد. مشکل بعدی نمایش پیغام خطا و دیالوگ بود که این هم تا حدودی حل شده) و حالا یک استثنا رخ داده است و اون این هست که ما باید به سمت graphic mode برویم. یعنی ما به مشکل صفحه نمایش کارکتری خوردیم و باید راه حلی برای اون پیدا کنیم. و یا مشکل اجرا نرم افزار و یا چند برنامه گی و یا مدیریت حافظه و ...

نکته بعدی این هست که ما به سمت کاربردی بودن این سیستم پیش میرویم. اگر به روند توسعه دقت کرده باشید اکثر کارها در مسیر کاربردی کردن این سیستم عامل پیشروی کرده است.

 

موضوع بعدی در مورد ادامه روند توسعه Dialog می باشد. کلیپ زیر گویای رند توسعه هست و توصیه می کنم حتما دوستان تماشا کنند و نظرات خودشونو برای ما ارسال کنند:



  • عماد رضوانی

دیالوگ باکس !!

عماد رضوانی | شنبه, ۷ تیر ۱۳۹۳، ۰۶:۳۷ ب.ظ

سلام.

امروز هم یه مقدار بیکار بودم و امتحان نداشتم و چند تابع برای مدیریت دیالوگ باکس نوشتم. فیلم رو ببینید که جالبه !

 

  • عماد رضوانی

تکمیل وضعیت موس

عماد رضوانی | جمعه, ۶ تیر ۱۳۹۳، ۱۰:۱۷ ب.ظ
این چند روز که درگیر امتحانات هستم  کمتر وقت میکنم  بخش مدیر حافظه رو توسعه بدم(به دلیل پیچیدگی کار).
 اما امروز بیکار بودم و نشستم یکی از TODO های هسته که گذاشتم رو بازنویسی کردم. این TODO مربوط به راه انداز موس بود که مشکلش حل شد. مشکل از تشخیص ندادن خطا در بایت بود.

  • عماد رضوانی