| |
| |
| |
|
Page: 1 2
Comments:
<0> sp1nm0nkey oh ok <1> my code does't work the same way <2> Sorry for getting OT, you just gotta watch that one http://www.techeblog.com/index.php/tech-gadget/video-strangest-use-for-a-robotic-arm#more-7229 <3> what? Do you use segmentation or relocatable binaries something? What do you do for a context switch? <1> no i mean it doesn't swap whole page tables like that <1> thus the opportunity doesn't arise <3> then how do you get user space stuff into virtual memory? Do you just fill in the page tables upon page faults? <1> basically, yeah <1> well, actually. not sure *precisely* what you're asking
<1> the point is the vm only deals with pages, it doesn't care about page tables or page dirs <1> the lower level code deals with that <1> the vm tries to construct transactions. ie, it starts a transaction, removes/adds/etc pages, then commits it <1> on the commit it flushes the necessary tlbs (or the entire thing if it's over a threshold) <1> i think i set the threshold at 64 pages or something like that <3> ah, that's slick. <1> reason it does the transaction stuff is on an smp machine you have to flush on the other cpus <1> and the only real way to do that is to send an interrupt to the other cpus with a message (list of pages to flush) <1> which is pretty expensive <3> right... it's probably a bit more robust to have a transaction system too <1> midn you it's not that complicated. basically the mmu object gets a lock(), then the ops, and on unlock() it flushes them <1> and the vm cannot ***ume that the operations *really* happen until the unlock() <1> and the mmu object has a static array of 64 addresses in it <3> do you form the page directory and page tables on boot? <1> no, they're created on demand <1> when you create an address space, it creates a mmu object (one per address space) that encapsulates the arch-specific mmu <1> part of it's data is the page directory (that is allocated up front) and any page tables it needs <1> it's a very common strategy. in bsd/mach it's called 'pmap' <3> that's really slick <1> here is the api: http://newos.org/WebSVN/filedetails.php?repname=NewOS&path=%2Fnewos%2Finclude%2Fkernel%2Farch%2Fvm_translation_map.h&rev=0&sc=0 <1> see the vm_translation_map_ops <1> the get_physical_page and put_physical_page really dont belong there. should be just a direct api <1> never got around to moving that somewhere else <1> i also made it an abstract interface like that (with function pointers and whatnot) so that you could use multiple types dynamically <1> i was thinking about PAE and nonPAE page tables, specifically <1> but i never got around to it. you could make it a hard api the arch layer just has to implement with it's private data hidden behind a void * if you'd like <1> anyway, gotta sleep. talk to ya later <3> alright. Thanks for the info, I'll have to look into that system <4> buh! <4> kickbann me! <5> hmm, Lets see what's coming from IRC today... <5> nothing. <3> Yo. <6> Cheery up! <5> error: Cheery online already. <5> mur
<5> murrin rrin. <5> Anything interesting happened today? <6> of finland time? <6> my bus was 5 mins late <6> and drove 5 mins too slow <5> but isn't that usual? <6> no <6> i supposed to be there 54 i was 05 or somethign <5> Isee. <5> I'm planning to read few first chapters of haskell tutorial today. <5> static typing with inference, declarative nature and pure-functionality is attracting me. :-} <6> haskell is to HUT what pure data is to medialab <6> i guess you are studying at hut anyways :P <5> HUT? <5> medialab? <5> :D <6> tkk <6> media laboratorio / taik <6> medialaboratorio grr <6> ah reading <6> i read you started course <5> yeh, and I know very little of what you were responding. <3> is "type blah : 8" a gccism? <6> heh <7> sp1nm0nkey: no, it's ANSI-standard C bitfield. <3> weird. I've never heard of that. <3> However, bit members in structs have practical drawbacks. First, the ordering of bits in memory varies from compiler to compiler. In addition, many popular compilers generate inefficient code for reading and writing bit members. Thus bitwise operators remain in wide use in programs in the C and C++ languages as of 2006. <3> hmm, that worth paying attention to? <5> by times I feel writing anything in strict languages is not worth it. <5> C consists of practical drawbacks. <5> Is PowerPC worth buying? <8> Hey, I'm working on a hobby operating system and my header files are starting to build up... What's the best way to deal with header files in terms of build-tree structure? <4> put them into their own directory? <9> naer_dinsul, keep them separate from the sources, keep them in a way that allows to switch architectures if required, put them where all the depending stuff can cleanly, logically reach them, maintain them with your build-system as well. <9> naer_dinsul, take a look at how others do it. <8> wobster: I've been browsing the newOS code tree, and I notice that all the header files are neatly packed away in an include directory, but I can't seem to find the ***ociated C files... Where are they hidden? <9> naer_dinsul, finding the sources is left as an easy exercise. <1> wonder if he ever found em <10> Haha <10> Evil ;) <11> hu? <10> Eh..no. Not you.
Return to
#osdev or Go to some related
logs:
how to change hostname in ssh on fedora blacklist nv modprobe ubuntu #fedora #math debian sensible browser e3fsprogs fc5 Moromite device descriptor read/8, error -110 dapper midi /dev/sequencer cannot find a valid baseurl for repo tomcat
|
|