Jump to content

I have read many things about developing a operating system and I have many doubts in it and I think I guys can help me out!!! The first one:In which I can create or develop a os! Second one:what is shell and api!! Many are there now these two are more confusing !! Please help me !! 

 

Thank you 

Link to comment
Share on other sites

Link to post
Share on other sites

4 minutes ago, Baladiscovery said:

I have read many things about developing a operating system and I have many doubts in it and I think I guys can help me out!!! The first one:In which I can create or develop a os! Second one:what is shell and api!! Many are there now these two are more confusing !! Please help me !! 

 

Thank you 

maybe use linux as a base?

CPU: Intel9-9900k 5.0GHz at 1.36v  | Cooling: Custom Loop | MOTHERBOARD: ASUS ROG Z370 Maximus X Hero | RAM: CORSAIR 32GB DDR4-3200 VENGEANCE PRO RGB  | GPU: Nvidia RTX 2080Ti | PSU: CORSAIR RM850X + Cablemod modflex white cables | BOOT DRIVE: 250GB SSD Samsung 850 evo | STORAGE: 7.75TB | CASE: Fractal Design Define R6 BLackout | Display: SAMSUNG OLED 34 UW | Keyboard: HyperX Alloy elite RGB |  Mouse: Corsair M65 PRO RGB | OS: Windows 10 Pro | Phone: iPhone 11 Pro Max 256GB

 

Link to comment
Share on other sites

Link to post
Share on other sites

6 minutes ago, Baladiscovery said:

In which I can create or develop a os

what? in which what can you create an os? which program? which computersystem?? could you clarify?

Link to comment
Share on other sites

Link to post
Share on other sites

1) Linux and Apple OS is written in C. Windows is C++, I believe (do correct me if I'm wrong). You just need a program to write the code. Technically it can be done in notepad.exe if you're very hardcore.

2) Shell is a blanket term for a way of controlling and managing OS settings. For instance the Windows Command prompt is a shell. The Windows Control Panel is a shell too. But most commonly we mean the text-based tool by shell.

API (application programming interface) is a set of software tools that I as a system developer would grant you so that you could develop programs for the system I'm managing. I wouldn't give you universal access to my source code but pre-compiled commands that are easier for you to utilize. So by using the API, lest say DirectX, the game developers don't have to have perfect knowledge of the inner workings of a specific GPU, let alone all of them.

Link to comment
Share on other sites

Link to post
Share on other sites

Developing an OS is a massive task. Given all the things you need to get working correctly before you can do something as "simple" as interface with a shell (I'll get to that in a paragraph or two later). Companies like Apple, Microsoft, and Canonical (the guys responsible for maintaining Ubuntu) dedicate massive teams and months or years to creating their operating systems, and they've already got a good base to start.

 

Even in my operating systems class in College, we didn't attempt to make an operating system, we only simulated portions of it to get a feel for design decisions. (If you are looking for a book to get started, we used Operating Systems Concepts, by Abraham Silberschatz).

 

A shell is the collection of programs that let a user interact with the kernel. If an OS was a car, the door, steering wheel, and pedals (gas and brake) would be the shell; they let the user access other functions in the "shell" and interact with the engine, wheels, and brakes, which in this case, represents the kernel.

 

Honestly, the best place to start would be to familiarize yourself with a flavor of Linux, like Ubuntu, Mint, or Debian (I'd recommend running them as a virtual machine, like VirtualBox). Once you feel comfortable running those, you can try Arch Linux. You have to compile Arch Linux yourself, but you have massive amounts of control over how things work, and you can learn a lot about Linux and operating systems that way.

Link to comment
Share on other sites

Link to post
Share on other sites

15 minutes ago, KOMTechAndGaming said:

maybe use linux as a base?

Thank you bro

Link to comment
Share on other sites

Link to post
Share on other sites

14 minutes ago, tlink said:

what? in which what can you create an os? which program? which computersystem?? could you clarify?

Am asking which program !! 

Link to comment
Share on other sites

Link to post
Share on other sites

13 minutes ago, wrathoftheturkey said:

Dude.... If you don't know what a shell or API is, you're not going to be able to make an OS. They are ridiculously complicated and difficult to make, I wouldn't try it. Start small. What's your programing background?

Dude I know both but it's a bit confusing and all definintion on internet are confusing so..! Thank you

Link to comment
Share on other sites

Link to post
Share on other sites

The grammar nazi in me is annoyed at the title, it should be 'develop an OS'. And it's not technically wrong but some extra context wouldn't go amiss.

Link to comment
Share on other sites

Link to post
Share on other sites

12 minutes ago, Naeaes said:

1) Linux and Apple OS is written in C. Windows is C++, I believe (do correct me if I'm wrong). You just need a program to write the code. Technically it can be done in notepad.exe if you're very hardcore.

2) Shell is a blanket term for a way of controlling and managing OS settings. For instance the Windows Command prompt is a shell. The Windows Control Panel is a shell too. But most commonly we mean the text-based tool by shell.

API (application programming interface) is a set of software tools that I as a system developer would grant you so that you could develop programs for the system I'm managing. I wouldn't give you universal access to my source code but pre-compiled commands that are easier for you to utilize. So by using the API, lest say DirectX, the game developers don't have to have perfect knowledge of the inner workings of a specific GPU, let alone all of them.

Thank you dude 

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, Wrb said:

The grammar nazi in me is annoyed at the title, it should be 'develop an OS'. And it's not technically wrong but some extra context wouldn't go amiss.

 

2 minutes ago, Wrb said:

The grammar nazi in me is annoyed at the title, it should be 'develop an OS'. And it's not technically wrong but some extra context wouldn't go amiss.

Now it's ok?

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, Baladiscovery said:

 

Now it's ok?

Much better, thanks. On the subject of your thread, unless you have a team of programmers and a lot of money, don't try.

Link to comment
Share on other sites

Link to post
Share on other sites

8 minutes ago, Daehder said:

Developing an OS is a massive task. Given all the things you need to get working correctly before you can do something as "simple" as interface with a shell (I'll get to that in a paragraph or two later). Companies like Apple, Microsoft, and Canonical (the guys responsible for maintaining Ubuntu) dedicate massive teams and months or years to creating their operating systems, and they've already got a good base to start.

 

Even in my operating systems class in College, we didn't attempt to make an operating system, we only simulated portions of it to get a feel for design decisions. (If you are looking for a book to get started, we used Operating Systems Concepts, by Abraham Silberschatz).

 

A shell is the collection of programs that let a user interact with the kernel. If an OS was a car, the door, steering wheel, and pedals (gas and brake) would be the shell; they let the user access other functions in the "shell" and interact with the engine, wheels, and brakes, which in this case, represents the kernel.

 

Honestly, the best place to start would be to familiarize yourself with a flavor of Linux, like Ubuntu, Mint, or Debian (I'd recommend running them as a virtual machine, like VirtualBox). Once you feel comfortable running those, you can try Arch Linux. You have to compile Arch Linux yourself, but you have massive amounts of control over how things work, and you can learn a lot about Linux and operating systems that way.

Ok ok thank you so much !! Is collection of api's makes a part of os ?!?!?

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, Wrb said:

Much better, thanks. On the subject of your thread, unless you have a team of programmers and a lot of money, don't try.

✌️️✌️️

Link to comment
Share on other sites

Link to post
Share on other sites

26 minutes ago, Baladiscovery said:

I have read many things about developing a operating system and I have many doubts in it and I think I guys can help me out!!! The first one:In which I can create or develop a os! Second one:what is shell and api!! Many are there now these two are more confusing !! Please help me !! 

 

Thank you 

have a look at linux from scratch. http://linuxfromscratch.org/lfs/

Quote

What is Linux From Scratch?

Linux From Scratch (LFS) is a project that provides you with step-by-step instructions for building your own customized Linux system entirely from source

 

             ☼

ψ ︿_____︿_ψ_   

Link to comment
Share on other sites

Link to post
Share on other sites

What about visual studio !?!? Or visual c++ I saw in many websites that It can be used !! What you guys say!?

Link to comment
Share on other sites

Link to post
Share on other sites

Is collection of software makes a os ?!?!

can visual studio can be used to develop a os !?!?

Link to comment
Share on other sites

Link to post
Share on other sites

You can develop an operating system using Visual Studio as an IDE.  So yes, you can write an operating system using Visual Studio, just don't expect it to be easy haha. 

Link to comment
Share on other sites

Link to post
Share on other sites

5 minutes ago, Mike_The_B0ss said:

You can develop an operating system using Visual Studio as an IDE.  So yes, you can write an operating system using Visual Studio, just don't expect it to be easy haha. 

Then which project I should choose for creation of os !!!!!? I know to use visual studio but many doubt pls help me !?!?

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, Baladiscovery said:

Then which project I should choose for creation of os !!!!!? I know to use visual studio but many doubt pls help me !?!?

Well, writing an OS can be quite difficult, if you do it from scratch.  You have to write the kernel which handled memory management, drivers etc and then you have to write a CLI (command line interface) on top of that.  There are some frameworks out there to help you to write a very basic operating system;  

 

but to be totally honest, first of all you want to know how to use Linux and familiarize yourself with it, and then I would probably look up how to create or modify a distribution.  That would be the first steps in my opinion, it really depends and is up to you.   

 

Don't let people doubt you, but don't say you can write an operating system.  But know that if you work hard and diligently you can do almost anything.  

Link to comment
Share on other sites

Link to post
Share on other sites

10 minutes ago, Mike_The_B0ss said:

Well, writing an OS can be quite difficult, if you do it from scratch.  You have to write the kernel which handled memory management, drivers etc and then you have to write a CLI (command line interface) on top of that.  There are some frameworks out there to help you to write a very basic operating system;  

 

but to be totally honest, first of all you want to know how to use Linux and familiarize yourself with it, and then I would probably look up how to create or modify a distribution.  That would be the first steps in my opinion, it really depends and is up to you.   

 

Don't let people doubt you, but don't say you can write an operating system.  But know that if you work hard and diligently you can do almost anything.  

Thanks bro !! ✌️️✌️️

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, Baladiscovery said:

Thanks bro !! ✌️️✌️️

 

11 minutes ago, Mike_The_B0ss said:

Well, writing an OS can be quite difficult, if you do it from scratch.  You have to write the kernel which handled memory management, drivers etc and then you have to write a CLI (command line interface) on top of that.  There are some frameworks out there to help you to write a very basic operating system;  

 

but to be totally honest, first of all you want to know how to use Linux and familiarize yourself with it, and then I would probably look up how to create or modify a distribution.  That would be the first steps in my opinion, it really depends and is up to you.   

 

Don't let people doubt you, but don't say you can write an operating system.  But know that if you work hard and diligently you can do almost anything.  

But I asked about visual studio !! 

Then you are suggesting Linux ahh?

 

Link to comment
Share on other sites

Link to post
Share on other sites

Because realistically, you're not going to take on making an entire operating system as your starter project. Creating a Linux variant first would be where you would want to start. 

 

What were you expecting this OS to look like? Considering you asking specifically for visual studio, i don't know if you quite understand the size of the project you are asking about. 

Link to comment
Share on other sites

Link to post
Share on other sites

1. What many universities use to teach operating systems; costs money but will teach you ALOT about operating systems; Minix is not as usable as linux but please get this book:

https://www.amazon.com/Operating-Systems-Design-Implementation-3rd/dp/0131429388/ref=sr_1_1?s=books&ie=UTF8&qid=1478671672&sr=1-1&keywords=Operating+Systems%3A+Design+and+Implementation+3%2Fe+by+Andrew+S.+Tanenbaum

2. I think ive already told you this; look at linux from scratch; teaches you to compile linux which means you will be able to create a useful operating system; it is free:

http://linuxfromscratch.org/lfs/view/stable/

 

 

             ☼

ψ ︿_____︿_ψ_   

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×