element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Code Exchange
  • Technologies
  • More
Code Exchange
Forum OS Development
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Code Exchange to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Not Answered
  • Replies 13 replies
  • Subscribers 48 subscribers
  • Views 1517 views
  • Users 0 members are here
  • Code Exchange
  • assembly
Related

OS Development

nick123
nick123 over 10 years ago

     I've been studying assembly language for a long long long time, and I want to try OS Development. I've heard of MikeOS it was entirely written in real mode assembly. I looked over the code of MikeOS and now I feel very discouraged. It is a lot of complicated code just for a simple os.

 

MikeOS - simple x86 assembly language operating system

  • Sign in to reply
  • Cancel

Top Replies

  • michaelkellett
    michaelkellett over 10 years ago +1
    Most OS are not written in assembler but in C or other high level language. To write even a small scheduler type OS in assembler is an odd thing to do since it will make it take longer and it won't be…
  • johnbeetem
    johnbeetem over 10 years ago in reply to nick123 +1
    Nick Gallagher wrote: Why is C portable and not assembly? An assembly language program only runs on one computer architecture, i.e., one instruction set. You can't run ARM assembly language on x86…
  • clem57
    clem57 over 10 years ago in reply to nick123 +1
    Yes if they produce a .COM module and assembly inline OK if you are careful.
Parents
  • clem57
    0 clem57 over 10 years ago

    nick123

         Hi, I work with assembler for most of my life and I can say there is no simple OS. It can be cleanly written, but the details of handling hardware is always present. By not going into virtual mode, address relies on segment registers which is uglier than setting up virtualization IMHO. Why? Because you address 64K chunks of code or data and makes this such a challenge. So you see it is relative to what you want to tackle. But to be in real mode you must know how the hardware handles addressing. That is why simple here is a wrong word...

    Clem

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • nick123
    0 nick123 over 10 years ago in reply to clem57

    Should I make the bootloader in assembly and the kernel in C? I found this website on OSDev, is it good?

    BrokenThorn Entertainment

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Reply
  • nick123
    0 nick123 over 10 years ago in reply to clem57

    Should I make the bootloader in assembly and the kernel in C? I found this website on OSDev, is it good?

    BrokenThorn Entertainment

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Children
  • clem57
    0 clem57 over 10 years ago in reply to nick123

    I read just the introduction and it lays a good foundation. If you can follow and understand this, I can see it as a building block toward writing a bootloader. That is a very good goal imho. I will be around if you wish guidance.

    A journey starts with one leg forward and a lot of faith,

    Clem

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • clem57
    0 clem57 over 10 years ago in reply to nick123

    Pick C for now and later rewrite in ASM.

    Clem

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube