انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

نویسنده موضوع: نوشتن سیستم عامل  (دفعات بازدید: 1908 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین asm2620

  • Jr. Member
  • *
  • ارسال: 59
  • جنسیت : پسر
نوشتن سیستم عامل
« : 18 آبان 1395، 07:43 ب‌ظ »
سلام میخوام یه سیستم عامل تحت لینوکس بنویسم باید چه پکیجی رو نصب کنم و لینوکس رو چطور کامپایل کنم؟ من توی c زیاد حره ایی نیستم میخوام هسته رو بدون تغییر کمپایل کنم و initrd سفارشی بنویسم.میخوام جای bash از اینترفیسی که خودم نوشتم استفاده کنم.

آفلاین nixoeen

  • ناظر انجمن
  • *
  • ارسال: 4872
  • جنسیت : پسر
  • masoft قدیم
پاسخ : نوشتن سیستم عامل
« پاسخ #1 : 18 آبان 1395، 08:53 ب‌ظ »
پله‌ها رو نمیشه ۱۰تا ۱۰تا پرید. ابتدا کمی در مورد گنو-لینوکس مطالعه کنید، ابتدا خود گنو-لینوکس رو یاد بگیرید و بعد برنامه‌نویسی یاد بگیرید. بعد تازه می‌تونید با کتابی مثل LFS شروع کنید که ببینید یک توزیع چطور کار می‌کنه، ...

آفلاین asm2620

  • Jr. Member
  • *
  • ارسال: 59
  • جنسیت : پسر
پاسخ : نوشتن سیستم عامل
« پاسخ #2 : 19 آبان 1395، 06:41 ق‌ظ »
این ها رو من بلدم. من یکساله اوبنتو دارم.
تا الان از رابط گرافیکی استفاده مبکردم و از رابط متنی واسه سرگرمی.
سی‌شارپ هم حرفه ایی هستم. میخوام پلتفرم جدید براساس سی‌شارپ بوجود بیارم لینوکسی که برنامه هاش به زبان سی شارپ نوشته میشه و کل پکیج های داخلیش سی شارپه.

آفلاین nixoeen

  • ناظر انجمن
  • *
  • ارسال: 4872
  • جنسیت : پسر
  • masoft قدیم
پاسخ : نوشتن سیستم عامل
« پاسخ #3 : 19 آبان 1395، 03:32 ب‌ظ »
خب کتاب LFS رو اول بخونید.

آفلاین asm2620

  • Jr. Member
  • *
  • ارسال: 59
  • جنسیت : پسر
پاسخ : نوشتن سیستم عامل
« پاسخ #4 : 19 آبان 1395، 09:55 ب‌ظ »
خب کتاب LFS رو اول بخونید.
ممنون :gol2:
هرچی گشتم دکمه تشکر رو پیدا نکردم! انجمن با انجمن فرق میکنه!!

---

ویرایش: این خیلی حرفه ایی هست من فقط میخوام یه init ram fs بسازم همین! هسته لینوکس از نسخه های آماده استفاده میکنم مثل grneric یا knoppix یا...
میخوام توی ramfs برنامه درایور های ضروری رو بذارم تا دیسک هارو ماونت کنه بعد دیسکی که ازش بوت کرده رو پیدا کنه و روت رو بعوان اون دیسک ماونت کنه و بعدش هسته سیستم عاملم که به سی شارپ نوشته شده رو روی mono بالا بیاره.
مثل اندروید که کل منو هاش و سیستم عاملش به زبان جاوا نوشته شده هستن و روی ماشین مجازی دالویک بالا میاد.
ببخشید کیبور گوشی لمسش خرابه اشتباه تایپی زیاده من خودم الان کلی پیدا کردن.
« آخرین ویرایش: 19 آبان 1395، 10:13 ب‌ظ توسط asm2620 »

آفلاین nixoeen

  • ناظر انجمن
  • *
  • ارسال: 4872
  • جنسیت : پسر
  • masoft قدیم
پاسخ : نوشتن سیستم عامل
« پاسخ #5 : 20 آبان 1395، 02:08 ب‌ظ »
کتاب LFS تنها مبانی یک توزیع گنو-لینوکس رو به صورت خیلی ساده بیان می‌کنه :) برای شروع همون کتاب خوبی هستش.

آفلاین asm2620

  • Jr. Member
  • *
  • ارسال: 59
  • جنسیت : پسر
پاسخ : نوشتن سیستم عامل
« پاسخ #6 : 20 آبان 1395، 02:36 ب‌ظ »
کتاب LFS تنها مبانی یک توزیع گنو-لینوکس رو به صورت خیلی ساده بیان می‌کنه :) برای شروع همون کتاب خوبی هستش.
خب حالا اگه کسی بخواد با cpio و tar.gz یک فایل img بسازه باید چیکار کنه؟
جایگزین های x server و dbus که با سی شارپ هم کار کنن چیا هستن؟ میتونم از surfaceflinger استفاده کنم؟
سیستم عامل من قرار نیست گنولینوکس باشه همونطوری که اندروید گنولینوکس نیست.
ایده رو خوب اومدم خدا کمک کنه تا آخرش رو همینطور خوب پیش برم حله!
تا الان هم نمونه هایی از یک رابط کاربری به زبان سی شارپ رو ساختم که رو ویندوز خوب کار میکنه و با مونو سازگار نیست ولی درستش میکنم. قابلیت اجرای برنامه هایی که توش یک کلاس که از کلاس ExecBase ارث برده باشه رو اجرا میکنه.
« آخرین ویرایش: 20 آبان 1395، 02:45 ب‌ظ توسط asm2620 »

آفلاین asm2620

  • Jr. Member
  • *
  • ارسال: 59
  • جنسیت : پسر
پاسخ : نوشتن سیستم عامل
« پاسخ #7 : 21 آبان 1395، 04:34 ب‌ظ »
سلام خودم به روش پیدا کردم از این ایده من خیلی بهتر هست کامپایلر IL2CPU کد سی‌شارپ من رو بطور مستقیم به کرنل تبدیل میکنه که مثل کرنل لینوکس میتونه از روی Grub یا IsoLinux بوت کنه.
من مستقیم با این کامپایلر کار نمیکنم و وارد پیچیدگی ها و دشواری های سیستم عامل نویسی نمیشم از پلاگین Cosmos (C# Managed Open Source Managed Operating System) روی ویژوال استادیو استفاده میکنم فریم ورک هایی که همراه خودش داره کار رو خیلی راحت میکنه بزرگترین مشکلش نوشتن درایور هاست. من با کلی زحمت درایور VGA براش نوشتم سر آخر فقط از 320*200*8 پشتیبانی میکنه.

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19722
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
پاسخ : نوشتن سیستم عامل
« پاسخ #8 : 22 آبان 1395، 06:06 ب‌ظ »
نوشیتن سیستم‌عامل از ابتدا حماقته. به‌جای این‌کار مي‌تونی به سیستم‌عامل گنو کمک کنی که بهتر بشه.
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین asm2620

  • Jr. Member
  • *
  • ارسال: 59
  • جنسیت : پسر
پاسخ : نوشتن سیستم عامل
« پاسخ #9 : 30 آبان 1395، 03:30 ب‌ظ »
اون چیزی که نیاز داشتم رو خودم پیدا کردم فقط کاشکی خودتون جای پیشنهاد کتاب و کدوم کار حماقته کدوم نیست از اول خودتون میگفتید که من انقد درگیر نشم.
در حال حاضر مشکل با busybox هست. وقتی لینوکسم رو بوت میکنم میگه busybox not tainted .
هسته vmlinuz هست و از فایل iso اوبونتو ۱۵ i386 کش رفتم. باینری busybox هم از initrd.lz بیرون کشیدم.
قبل دستور find . | cpio -H newc -o با دستور ln -s ./bin/busybox ./bin/sh دستور هایی که نیاز داشتم رو نصب کردم.
مشخصه که کلا init رو بالا دوباره چون چند خط echo گذاشته بودم ولی اونها رو نخوند.
#!/bin/sh
mount -t proc /proc /proc
mount -t sysfs none /sys
echo Now, linux booted completely!
exec /bin/ash --login
درحال حاضر دارم تلاش میکنم این مشکل رو حل کنم بعدش برم مونو رو تهیه کنم.