Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 13 of 13

Thread: Roll My Own

  1. #1
    New Coder
    Join Date
    Oct 2008
    Location
    Earth
    Posts
    27
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Lightbulb Roll My Own

    As a way of practising my coding abilities I would like to make several projects, however I am unsure about how to start or where to go from there. Below are the projects I would like to make along with some information about each one.

    1) An operating system: Only a basic one, perhaps using the Linux kernel and moving on from there like in Linux From Scratch. The trouble with this one is all of the sites I have been through don't explain in a clear, detailed manor. However I do know I will need to make a boot-strapper and other such programs, but don't know how.

    2) Password protecting a file: I want to create a small program that will combine any chosen .Exe file with another .Exe that will check for a password and run the password protected .Exe if the password provided is correct. The end result of merging the two files would be a .Exe that will execute the password .Exe first as well as the first .Exe having access to the second one and vice-versa.

    3) Remote learning software: A good example of this is ClassLink, but I have no idea which language to use or where to start. Any pointers or advice would be much appreciated.

    4) Windows GUI editor: A small tool to change the look of Windows Xp's or Windows Vista's GUI, like the close and minimize buttons and the title bar in windows, with little overhead

  • #2
    Regular Coder
    Join Date
    May 2008
    Location
    Lost in Localhost...
    Posts
    702
    Thanks
    3
    Thanked 43 Times in 42 Posts
    Well for number 1, you are asking a lot. I don't think you understand how much you are asking. Linux from scratch is the EXTREME basics. Before embarking on that journey of years of coding, I recommend you stick to programming basics. If you still want to do it, then Linux from scratch is the easiest thing you could use, it's a powerful tool.

    http://www.linuxfromscratch.org


    But to me it sounds like you don't have much programming knowledge. If I were you I would teach my self the language, then making programs would be much easier. Programming is common sense once you have got the syntax.

  • #3
    New Coder
    Join Date
    Oct 2008
    Location
    Earth
    Posts
    27
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Quote Originally Posted by Millenia View Post
    Well for number 1, you are asking a lot. I don't think you understand how much you are asking. Linux from scratch is the EXTREME basics. Before embarking on that journey of years of coding, I recommend you stick to programming basics. If you still want to do it, then Linux from scratch is the easiest thing you could use, it's a powerful tool.

    http://www.linuxfromscratch.org


    But to me it sounds like you don't have much programming knowledge. If I were you I would teach my self the language, then making programs would be much easier. Programming is common sense once you have got the syntax.
    Contrary to your opinion, I am actually skilled with many languages. If you are implying that these are simple projects, then you are quite welcome to provide some help instead of posting completely wrong opinions. In my opinion, your opinion is based on nothing and you are more intent on providing negative opinions that actually helping.

  • #4
    Regular Coder
    Join Date
    May 2008
    Location
    Lost in Localhost...
    Posts
    702
    Thanks
    3
    Thanked 43 Times in 42 Posts
    Quote Originally Posted by -Fabez- View Post
    Contrary to your opinion, I am actually skilled with many languages. If you are implying that these are simple projects, then you are quite welcome to provide some help instead of posting completely wrong opinions. In my opinion, your opinion is based on nothing and you are more intent on providing negative opinions that actually helping.
    Well I'm sorry, But anyway, you probably know more than me about this...I'm terrible with file management stuff. So I can't help you there.

    I apologize

    (By the way, I didn't try to be negative, but my grammar skills are horrible)

  • #5
    New Coder
    Join Date
    Oct 2008
    Location
    Earth
    Posts
    27
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Im sorry to, I jumped to conclusions But thanks for the rest of your input

  • #6
    Rockstar Coder
    Join Date
    Jun 2002
    Location
    USA
    Posts
    9,074
    Thanks
    1
    Thanked 328 Times in 324 Posts
    In reference to writing your own OS: Have you ever written any programs in assembly?
    OracleGuy

  • #7
    New Coder
    Join Date
    Oct 2008
    Location
    Earth
    Posts
    27
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Quote Originally Posted by oracleguy View Post
    In reference to writing your own OS: Have you ever written any programs in assembly?
    No I have not as there is no clear indication of which version will work with most computers. Any tutorials or advice on learning would be appreciated

  • #8
    Rockstar Coder
    Join Date
    Jun 2002
    Location
    USA
    Posts
    9,074
    Thanks
    1
    Thanked 328 Times in 324 Posts
    Quote Originally Posted by -Fabez- View Post
    No I have not as there is no clear indication of which version will work with most computers. Any tutorials or advice on learning would be appreciated
    Assembly language is dependent on the processor architecture. So it depends what your target architecture is. If you want the code to run on x86 based computers (386, 486, Pentiums, Core, Core 2, Xeon, etc.) then use the Intel x86 assembly language. Assembly language is written in the actual instructions that are executed by the processor so as long as the processor supports all the instructions you are using the program will execute.
    OracleGuy

  • #9
    New Coder
    Join Date
    Oct 2008
    Location
    Earth
    Posts
    27
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Thanks, that clariflies a lot of things I am currently reading through the tutorials on this website, http://www.brokenthorn.com/Resources/OSDevIndex.html , and seeing how things pan out. Which coding languages can I use when creating my Os ? I know assembly and C can be used, but dont know where C can be used.

  • #10
    Rockstar Coder
    Join Date
    Jun 2002
    Location
    USA
    Posts
    9,074
    Thanks
    1
    Thanked 328 Times in 324 Posts
    Quote Originally Posted by -Fabez- View Post
    Thanks, that clariflies a lot of things I am currently reading through the tutorials on this website, http://www.brokenthorn.com/Resources/OSDevIndex.html , and seeing how things pan out. Which coding languages can I use when creating my Os ? I know assembly and C can be used, but dont know where C can be used.
    For the initial stages you can only use assembly and for the later stages you can use C. However you will have to write your own standard library of C functions because things like printf and scanf won't exist because they are platform dependent. I've written an OS once for an embedded device that supported multi-threading and dynamic memory allocation however the hardware was much less complex that an entire x86 based system. I would say if you can get your OS to boot up in real mode and have a prompt on the screen where you can read keyboard input, that's a pretty good checkpoint.

    You might want to consider buying a book on the x86 architecture because you'll need to know how the processor works and how they implement interrupts and memory segments (among other things).

    You don't necessarily have to write your own boot loader you could use an already existing one like lilo or grub. I would also recommend developing your OS in a virtual machine at first since it will be easier to make changes and test them.
    OracleGuy

  • #11
    Master Coder
    Join Date
    Dec 2007
    Posts
    6,682
    Thanks
    436
    Thanked 890 Times in 879 Posts
    Quote Originally Posted by -Fabez- View Post
    Thanks, that clariflies a lot of things I am currently reading through the tutorials on this website, http://www.brokenthorn.com/Resources/OSDevIndex.html , and seeing how things pan out. Which coding languages can I use when creating my Os ? I know assembly and C can be used, but dont know where C can be used.
    take a trip,
    http://tunes.org/Review/OSes.html
    http://www.cs.utah.edu/flux/oskit/

    best regards

  • #12
    Senior Coder
    Join Date
    Apr 2003
    Location
    England
    Posts
    1,192
    Thanks
    5
    Thanked 13 Times in 13 Posts
    You don't necessarily need to use assembly. Your suggestion of using an existing kernel and building on that might mean that you could stick to C. The kernel should provide you with some system calls to do things like start processes or get file handles.

    However (and I mean no offence by this), your first post does imply that you don't really realise the size of what you are trying to do, which is probably why Millenia assumed that your knowledge was limited.

    You could take a look at menuet, a little OS written from scratch by one guy for both 32 and 64bit entirely in assembly.

    Personally, I would love to make an operating system that incorporates a DBMS (for example, the entire file system would just be a set of BLOBs, etc) but these are 2 of the biggest pieces of software that you can possibly write and even with years of experience and working on it 24 hours a day, it would take one person many, many years to produce anything close to that.




    Password protecting an executable file on windows, you have to bear in mind that both files need to be on the disk so it would not be possible to actually stop the original file from being run, only to make it so that if you try and run the original file from the protection application, the password is needed. I have tried in the past to embed an executable file inside another on windows and only start it under certain conditions but with no success (at least not without dumping the exe to a temporary file anyway). You could write something that modifies the original exe a bit, adding some extra code into it and then changing the entry point. The code that is added in could do things like require a password but the security provided wouldn't be fantastic and you have to look at existing tools like asprotect (that doesn't offer much protection but can do exactly this) or Themida (that offers good protection but causes problems with certain free antivirus suites and doesn't let you modify the code near the new entry point)

  • #13
    New Coder
    Join Date
    Oct 2008
    Location
    Earth
    Posts
    27
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Thanks for your input, the Os idea was to get an understanding of what is involved so, so I was not aiming to finish an Os, just make parts of one to get an understanding of how they work. For the password protection program, I am using ADS's now, but they only work with NTFS file systems, however they are an effective solution.
    I can code in, C++, C, Python, Html, Php, Javascript, Css, Visual Basic, MySql, ActionScript 2, ActionScript 3 and Mythbuster :)
    <Mythbusters> Am i missing an eyebrow ? </Mythbusters>

    Need a hand with coding or devoloping software ? Just ask ;) Or visit the Coding Group


  •  

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •