Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Matt Taylor
    @64
    looks like the RFC is in FCP as of 2 days ago
    Isaac Woods
    @IsaacWoods
    Yah I've been following it and I think it's a good RFC, i agree that having the pebble target is probably jumping the gun
    Matt Taylor
    @64
    i'm a little confused because the RFC doesn't seem to say anything about policy for adding small / hobby etc targets
    Isaac Woods
    @IsaacWoods
    Yah I don't think they have any interest in accepting targets for hobby platforms at all (bar redox), which is a shame
    but a position I get in terms of the health of Rust
    I don't think this RFC is going to change that
    Matt Taylor
    @64
    yeah it's kind of a zero sum game
    Isaac Woods
    @IsaacWoods
    One of the problems I seem to remember is using dependencies with dependencies from std - like I depend on a crate that provides syscall access etc.
    And it having certain dependencies causes std to fail to build
    Not sure if you've come up against that
    Matt Taylor
    @64
    hm so you added a dependency from std on your syscall crate? (presumably so you could skip out libc?)
    Ah no I also have a libc but it's almost empty
    I don't intend to have my syscall interface readily accessible from C, so routing it though libc seemed like a waste of time
    Matt Taylor
    @64
    yeah exactly
    our situation is somewhat similar since all our syscalls are really async and all libc system calls goes through a posix userspace driver
    Isaac Woods
    @IsaacWoods
    So the libc just provide some types that are used in std iirc
    ah right
    Matt Taylor
    @64
    so it would be easier if we had a crate to do the IO directly from rust, but we don't have that yet and i think i'd rather not increase divergence from upstream for small optimisation purposes (given that i already wrote the required libc glue)
    that is interesting though
    i think i'll probably do the classic 'draft up a blog post on my experiences and start a discussion' at some point
    Isaac Woods
    @IsaacWoods
    ah yeah I see, your libc is pretty fleshed out anyway so that might be the easier route
    hm yeah that would be interesting if you do, I have been thinking of trying to push forwards with it but don't have the bandwidth
    Matt Taylor
    @64
    neither do i really but it's ok, university deadlines aren't real
    Isaac Woods
    @IsaacWoods
    ah cool you're a uni student too? and the looming exam season makes them seem more real ;)
    Matt Taylor
    @64
    yeah but my exams shouldn't be too punishing this time around since some is offloaded onto coursework
    Isaac Woods
    @IsaacWoods
    ah very nice, ours have just moved online but are expected to be as punishing
    what's your degree?
    Matt Taylor
    @64
    maths & cs
    you?
    Isaac Woods
    @IsaacWoods
    ah cool
    medicine, hence the OS on the back burner
    Matt Taylor
    @64
    oof
    tbh i should have just done maths instead, the cs part is pretty boring for the most part imo (especially first year)
    Isaac Woods
    @IsaacWoods
    Yeah CS would've been the other option but the degrees in it didn't float my boat
    and I'm nowhere near good enough at maths for a degree in it ;)
    Matt Taylor
    @64
    well, you would certainly make a better mathematician than i would a medic ;)
    Isaac Woods
    @IsaacWoods
    anyone who can build an OS could be a medic, most of preclinical is looking at legacy systems and wondering why things work like that
    Matt Taylor
    @64
    lol
    Isaac Woods
    @IsaacWoods
    it's just a person instead of a codebase ;)
    Daniel Ivkin
    @ivkin25
    Hey there! I need suggestions for a really good and very informative operating systems book to read - so far, my current options are the books Modern Operating Systems, and Three Easy Pieces (a book recommended by phil-opp), and Operating System Concepts. Thanks!
    Rune Tynan
    @CraftSpider
    Hm, is there a good pattern for 'global drivers'? In the blog (V 0.9), all stuff is done with lazy static, however you can't init a lazy static with function arguments it seems, needed for V 0.10's boot_info. For now I resorted to a static mut I only mutably set during init, then ever after access through a helper as an immutable reference, but I was hoping there was a safer/smarter way to do this that I'm just missing
    Rune Tynan
    @CraftSpider
    Aside from that slight ugliness, I have successfully implemented full text-writing capabilities, so I can now move on to the 'tests' and 'error handling' parts
    Rune Tynan
    @CraftSpider
    Have reached up to interrupts, stuck on trying to get breakpoint working (Also tried double-fault, in case it was the specific interrupt that was the problem). I'm definitely calling load, but all interrupts are still double-faulting. The lidt instruction is appearing in the resultant binary, so I have no clue what is wrong.
    Vincent Hou
    @vincenthouyi
    @ivkin25 probably that’s all the books you need for an entry level of OS knowledge. If you want to know further, I think course materials of Advanced Operating System from all Universities are the best way to start with, then you probably need to read papers or read source code. If you need some detailed info about OS like Linux or Windows, there are a lot of books too, but they are more specific to an implementation intead of general ideas.
    Daniel Ivkin
    @ivkin25
    @vincenthouyi Gotcha! But which book do you recommend starting with?
    Vincent Hou
    @vincenthouyi
    Actually I only thoroughly read the Modern Operating Systems as a textbook back in colledge. I think I only had a glance of Three Easy Pieces. Either one is great book. They basically covering the same topics, but with organized in a different way. Modern Operating Systems is more traditionaly textbook style and you may need to read with a course slides. Three Easy Pieces is easier to read.
    Daniel Ivkin
    @ivkin25
    Thanks a lot! I would be happy to hear more suggestions from everybody :D
    Matt Taylor
    @64
    @ivkin25 honestly something like the xv6 textbook (https://pdos.csail.mit.edu/6.828/2012/xv6/book-rev7.pdf) is a really great introduction to how operating systems work, taking you through a real functioning system and it's only about 100 pages. It doesn't talk so much about the theory and alternate designs but it covers most of the topics that you need to care about for osdev in a good level of detail
    Daniel Ivkin
    @ivkin25
    It really looks great, thanks! I think it is more targeting osdev rather than understanding modern concepts