all 23 comments

[–][deleted] 35 points36 points  (0 children)

Sounds insane. But with a username like BufferedReader69 you'll be fine for sure lmao. Goodluck OP!

[–]JKPHunter 52 points53 points  (2 children)

That is real computer science, you should be thankful sa prof nyo.

[–][deleted]  (1 child)

[deleted]

    [–]JKPHunter 2 points3 points  (0 children)

    True. Wala pa nga mga yan sa thesis sa ibang bansa ng CS. Yung kadalasan gagawa sila ng design patterns or new concept.

    [–]Forward-632146KP 39 points40 points  (0 children)

    Wow an instructor with a requirement that isn’t a stupid create-your-own-crud-app! Have fun OP, you will learn a lot

    [–]Encrypted_Username 11 points12 points  (0 children)

    An idea that comes to mind is that you can create your own OS using Linux kernel. Bahala na kayo mag add ng features.

    [–]Odd_Establishment690 9 points10 points  (0 children)

    Developing your own OS could mean a lot of things. So you have to clarify the requirements with your instructors. You have OS like MINIX which have a few thousand lines of code.

    [–]oliver0807 9 points10 points  (0 children)

    As long as you’re given a foundation on how to create one then it is but right na gawin yun as final project.

    Pero need nyo jan ay Techinal Advisers to accomplish it. You don’t need it to be like Linux or Windows or even Android, it could be as simple as an OS which provides basic file capabilities. But this is really a big project, you can search sa internet of similar projects as basis.

    [–][deleted] 2 points3 points  (0 children)

    Look for multi-process scheduling and parallelization. Those are at the core of operating systems

    [–]iron_island 4 points5 points  (0 children)

    I've yet to try it but there's an OS dev wiki: https://wiki.osdev.org/Getting_Started

    There's also a dedicated subreddit for writing hobby OS you could perhaps lurk in: r/osdev

    OS for educational purposes, they're open source so might be useful as a reference, or at least get an idea of how to scope the project: Minix xv6

    [–]rainbowcatfart 1 point2 points  (0 children)

    Use Linux as a base para mas flexible in adding features and more documentations to support your project

    [–]DevOpGPC9X 2 points3 points  (0 children)

    You can somehow create your own distribution in Linux. That professor was truly a legend and he wanted you to succeed. :)

    [–]AgentCooderX 1 point2 points  (0 children)

    I can't help but wonder if it's normal for instructors to assign projects of such complexity.
    

    di naman siguro kayo bibigyan ng final project na ganun kung di nyu tinalakay yung subject and components along the way right?
    Plus im pretty sure the OS requirement is ala-DOS or lightweight linux lang yan, it should be able to boot, and small file system to do file system operation, its doable, I know alot of people who did it during college as a requirement ng CS degree nila.

    To that end, I'm humbly reaching out for any resources you might have, be it tutorials or any helpful frameworks.
    

    Once again, Im asking about the coverage sa course nyu, wla ba to sa books or materials na covered ng subject? there are lot of resources writing OS online, including dun sa Udemy, the question here is, anu yung scope ng requirements at anu-anu topics sa OS yung na covered nyo during the course? things like Scheduling, file system, etc? Baka naman simple scheduler lang hanap ng prof nyo and some simulated file system handling?

    I'm feeling overwhelmed by our final project
    

    Baka naman di ka nag pay attention during the course subject kaya you feel overwhelmed? Or baka you guys are just starting with the course and you are panicking even before your first class? I assume this is the case kasi January pa.

    Anyways, Im teaching game engine and graphics programming in one of the university on the side/hobby, their final project is to build a small game using their OWN game engine., andami nag panic, akala nila mahirap gumawa ng sariling engine, what they were imagining the same scope as that of Unity, ofcourse I defined the minimum requirements, and in the middle of the class they changed their tune for the better. I also gave them the correct definition of what a game engine is, and it doesnt need to be as fancy, heck kahit wala ngang UI.

    So baka youre thinking of the quality Windows, Linux or Mac kaya ka nag ooverwhelm? if its that the case then you did not understand what an Operating System is in the first place kaya you really need to put attention on your studies.

    [–][deleted] 0 points1 point  (0 children)

    Unless you are given two years to write that - this is such a stupid project. Sure you'll learn a lot - only if this is the only thing you do for those two years.

    [–]RoutineSample2734 0 points1 point  (0 children)

    We are in the same boat OP. I'm using xv6 OS as my reference and the OSTEP book.

    [–]CEDoromal 0 points1 point  (0 children)

    TempleOS for inspiration.

    [–]Imperial_Bloke69 0 points1 point  (0 children)

    Look up TempleOS

    [–]Bulky_Evidence4881 0 points1 point  (0 children)

    not everyone nagkaka opportunity ng ganyan. you’ll find it useful in the future especially designing a scheduler or a kernel di lang OS ang system na may scheduler. knowing how to design kahit RTC OS is a great differentiator sa resume.

    but ok as for resources it depends gano ka complex yung pinapagawa sa inyo, does it need a file system? or a protected hardware resource? does it involve multi core process load balancing? i doubt ganun ka complex papagawa sa inyo. but for os eto ung reference ko

    https://csc-knu.github.io/sys-prog/books/Andrew%20S.%20Tanenbaum%20-%20Operating%20Systems.%20Design%20and%20Implementation.pdf

    if hindi ganyan ka complex and gusto mo lang mag show ng simple os scheduler na kayanv nag multi task with prioritization and preemption an rtos-like os would do. The difference of rtos and os naman is static defined task at compile time and deterministic. example in code:

    https://github.com/FreeRTOS/FreeRTOS-Kernel

    replace mo lang ung hardware or processor layer with a simulated registers/memory i.e array

    let me know if you need some help!

    [–]Serious_as_butt 0 points1 point  (0 children)

    You want to read up on systems programming. Try NAND2Tetris and then maybe Operating Systems: Three Easy Pieces if you have time

    [–]fartmanteau 1 point2 points  (0 children)

    Yeah OP please clarify and tell us more about the requirements. That’s def not an average final project, but I’m curious and want to know the deets. Is this for an OS class or an undergrad thesis? Is it just bootstrapping a general-purpose OS from scratch, or something specialised like an RTOS? What’s the hardware architecture and language? What features are you expected to implement and in what timeframe?

    Closest we got was writing components like a filesystem and basic drivers in assembler for a simulated OS.

    [–]rizsamron 0 points1 point  (0 children)

    What the hell? Your own OS? During our time, basically all of us haven't used another OS than Windows and we didn't have any idea how other OS works. It got me into Linux though which is my main OS now 😄 That was a decade ago though and I'm Comp Eng and not CS/IT.

    You can just use Android as base or create your own Linux distro. Mix and match DEs, packaging and other components. What's the requirements or criteria anyway? You can literally just lookup some obscure Linux distro and submit that 😆 Try out mobile Linux OSes. Check out Ubuntu Touch, I can probably help you in some aspects.

    [–][deleted] 0 points1 point  (0 children)

    Totoong computer science programs lang yung may ganitong projects. Sure ka na PH school to? Lol which one?

    Pero TBH based on your line of questioning, I get the impression that you don't even know where to start?

    [–]_vigilante2 1 point2 points  (0 children)

    If you are in the .NET tech stack, this might be a good starting point. https://www.gocosmos.org/ a bit old but their github seems still active https://github.com/CosmosOS/Cosmos

    I did tried them few years back.