[QUOTE=B!N4RY;52031066]No,[B] memory mapped IO[/B] and [B]virtual memory[/B] are two completely separate topics, and you're not understanding either of them correctly.
Virtual memory allows all programs to have a complete and isolated 32/64-bit memory space to itself, even though the system doesn't actually have that much memory. Part of its memory management scheme is to use a pagefile/swapfile to swap out physical memory pages that are currently not being used, and replace it with another memory page that requires the physical memory for further processing. This is managed by the OS and CPU, not individual programs.
Virtual memory has nothing to do with "accessing files".
That's memory mapped IO, where interfaces to other computer hardware are mapped to directly to the main memory, or portions of a file (depending on the context). Individual programs can used mmap to access portions of a file without loading the entire file in memory, but it does not get to control how its physical memory is mapped. The actual pagefile/swapfile is managed by the OS and CPU cooperatively, and cannot be directly accessed by a user program.
[editline]29th March 2017[/editline]
he's far too up the spectrum to realize that apparently[/QUOTE]
I never claimed they where the same thing, but they are very related, but there is a difference between virtual addressing of ram and virtual memory.
[img]http://cld.moe/files/chrome_2017-03-30_13-40-44.png[/img]
Besides bitching semantics, the point is that the OS controls what happens, you're not allocating memory, you're allocating a file.
It can treat those things differently and it does. It doesn't let you allocate that much more ram then you have. But it'll let you map a file of almost arbitrary size.
(Also you can directly control and restrict caching/paging behavior, and to a great degree control physical memory mappings for your application in windows)
So, the EU has started to kick up a shit with crypto backdoors. This isn't good.
[url]https://facepunch.com/showthread.php?t=1558541[/url]
[QUOTE=wingless;52032273]So, the EU has started to kick up a shit with crypto backdoors. This isn't good.
[url]https://facepunch.com/showthread.php?t=1558541[/url][/QUOTE]
Crypto with a backdoor may as well not be crypto at all. Hope there are still some people with a brain out there.
It's politicians on their power trip saying 'No one should be able to hide things from ME!!!!'. I mean seriously, what other reason is there to purposefully break security, other than to satisfy your need for control?
I didn't read the article but I'm going to assume they're just screaming pedos/terrorists really loudly hoping that'll just push whatever law it is they want through
Yeah totally not using it to keep my bank details safe.
:thatwasfunnyright:
[QUOTE=Cold;52031852]I never claimed they where the same thing, but they are very related, but there is a difference between virtual addressing of ram and virtual memory.
[img]http://cld.moe/files/chrome_2017-03-30_13-40-44.png[/img]
Besides bitching semantics, the point is that the OS controls what happens, you're not allocating memory, you're allocating a file.
It can treat those things differently and it does. It doesn't let you allocate that much more ram then you have. But it'll let you map a file of almost arbitrary size.
(Also you can directly control and restrict caching/paging behavior, and to a great degree control physical memory mappings for your application in windows)[/QUOTE]
but you're not mapping a file??
you're just saying "hi i need some more memory", the program doesn't know whether it's in physical ram or in a page on disk?
[QUOTE=Cold;52031852]Besides bitching semantics, the point is that the OS controls what happens, you're not allocating memory, you're allocating a file.
It can treat those things differently and it does. [B]It doesn't let you allocate that much more ram then you have. But it'll let you map a file of almost arbitrary size.
[/B]
(Also you can directly control and restrict caching/paging behavior, and to a great degree control physical memory mappings for your application in windows)[/QUOTE]
Again, search up what virtual memory is and what memory mapped IO is. This is not a matter of semantics.
Virtual memory DO allow a program to allocate more memory than physically available. This is managed by the OS and CPU by swapping memory pages back and forth from the physical memory and pagefile on a hard disk. The program have no control over how its memory space is mapped.
also memory mapped files are another thing entirely
[url]http://pages.cs.wisc.edu/~remzi/OSTEP/[/url]
my favorite operating systems resource
[editline]30th March 2017[/editline]
also straight from windows library functions
[quote]A pointer to the base address of the region of [B]pages[/B] to be locked.[/quote]
in OS world, a page is the metaphor for accessing contiguous space, whether or not it's been paged to disk or not
[quote]Pages that a process has locked remain in physical memory until the process unlocks them or terminates. These pages are guaranteed not to be written to the pagefile while they are locked.[/quote]
you're not controlling where they go, just that they'll remain locked, and windows only lets you do a handful of pagelocks
[editline]30th March 2017[/editline]
[url]https://msdn.microsoft.com/en-us/library/windows/desktop/aa366895(v=vs.85).aspx[/url]
[QUOTE=LordCrypto;52032608]but you're not mapping a file??
you're just saying "hi i need some more memory", the program doesn't know whether it's in physical ram or in a page on disk?[/QUOTE]
The use case here it was a mapped file. The os knows because it literally indicated in task manager
[editline]30th March 2017[/editline]
[QUOTE=B!N4RY;52032676]Again, search up what virtual memory is and what memory mapped IO is. This is not a matter of semantics.
Virtual memory DO allow a program to allocate more memory than physically available. This is managed by the OS and CPU by swapping memory pages back and forth from the physical memory and pagefile on a hard disk. The program have no control over how its memory space is mapped.[/QUOTE]
It's theoretical max is ram+page but generally less because windows doesn't let you do stupid shit.
That limitation doesn't apply to file maps, because the OS can consider the file you mapped as the cache for your virtual memory
are you talking about mapped files, virtual memory, or memory that has been paged
they're three different things and i'm honestly not sure which one you're talking about
you still only load mapped files into RAM in 4k pages
[QUOTE=LordCrypto;52032747]also memory mapped files are another thing entirely
[url]http://pages.cs.wisc.edu/~remzi/OSTEP/[/url]
my favorite operating systems resource
[editline]30th March 2017[/editline]
also straight from windows library functions
in OS world, a page is the metaphor for accessing contiguous space, whether or not it's been paged to disk or not
you're not controlling where they go, just that they'll remain locked, and windows only lets you do a handful of pagelocks
[editline]30th March 2017[/editline]
[url]https://msdn.microsoft.com/en-us/library/windows/desktop/aa366895(v=vs.85).aspx[/url][/QUOTE]
One of the se memory privelages always you to make the minimum working set arbitrarily big, you can also ask the OS explicitly for continues physical memory and then map it.
[QUOTE=Cold;52032914]One of the se memory privelages always you to make the minimum working set arbitrarily big, you can also ask the OS explicitly for continues physical memory and then map it.[/QUOTE]
yeah you can ask for contiguous
if you're in kernelland
no userland program should ever be asking for contiguous memory
[img]http://i.imgur.com/9KyXU8E.png[/img]
[QUOTE=LordCrypto;52032896]are you talking about mapped files, virtual memory, or memory that has been paged
they're three different things and i'm honestly not sure which one you're talking about
you still only load mapped files into RAM in 4k pages[/QUOTE]
Not necessarily 4KB pages. But whatever page size your ISA supports, and has the mode set for. eg ARM supports 4KB up to 64KB in doubling order. x86 only supports 4KB, PPC64 is usually 64KB these days... you get a lot of variance, really.
[QUOTE=wingless;52032940]Not necessarily 4KB pages. But whatever page size your ISA supports, and has the mode set for. eg ARM supports 4KB up to 64KB in doubling order. x86 only supports 4KB, PPC64 is usually 64KB these days... you get a lot of variance, really.[/QUOTE]
specifically referring to windows memory mapped files, it's 4k
[QUOTE=LordCrypto;52032926]yeah you can ask for contiguous
if you're in kernelland
no userland program should ever be asking for contiguous memory
[img]http://i.imgur.com/9KyXU8E.png[/img][/QUOTE]
Afaik it's usermode in AWE
[QUOTE=LordCrypto;52032943]specifically referring to windows memory mapped files, it's 4k[/QUOTE]
Yeah, that's gonna be 4KB across the board. I'm kinda curious if Windows on ARM will be using a different mode there, they certainly have the option. I don't believe RT did.
[QUOTE=Cold;52032948]Afaik it's usermode in AWE[/QUOTE]
right but you're still having a proxy virtual address, and kernel just slides your virtual address space to various physical addresses
at no point in userland can you ever directly access memory
lets move this to pm's
[QUOTE=LordCrypto;52032896]are you talking about mapped files, virtual memory, or memory that has been paged
they're three different things and i'm honestly not sure which one you're talking about
[/QUOTE]
This. I honestly have no idea what Cold is trying to say at this point.
i stick ram in my compoter and it go fast
[QUOTE=TrafficMan;52033052]i stick ram in my compoter and it go fast[/QUOTE]
i herd it goes even faster if u downlaod moar dedotated wam
I just download more RAM and some of my problems go away
[QUOTE=B!N4RY;52033079]i herd it goes even faster if u downlaod moar dedotated wam[/QUOTE]
I went over 3.5gb and got ransomware. :(
[QUOTE=SEKCobra;52031434]You should see a doctor. ;)[/QUOTE]
We can't afford it.
I just noticed a shitton of obvious repost-bots on Reddit.
They have obvious Firstname_Lastname usernames, are only a few days old and post popular posts from older askreddit threads. Really annoying, I'd rather read the old threads than see the bot-shit.
[t]https://i.imgur.com/Zn7716xh.jpg[/t]
Made a new revision of my removable secondary screen, this time with a seven inch screen and put together with screws and nuts rather than glue. After this photo I put it a little lower on the lid so it would line up nicely with the laptop's screen, with the added benefit of the weight having less leverage on the laptop lid. Patent Patentng~~
Side-note my only real complaint about my Thinkpad is it has Displayport rather than HDMI. I would have preferred HDMI and then have DP on the docks, considering the intended use case of HDMI (TVs) and DP (computer monitors).
Side-side-note I gotta get a 6 inch small profile HDMI cable from Monoprice since that was the shortest HDMI cable I could find :v:
[QUOTE=Sam Za Nemesis;52033626]Tell me how to check and I can confirm[/QUOTE]
-snip- i'm dumb there's no visual studio on ARM architecture
[QUOTE=Sam Za Nemesis;52033952]You can target for ARM desktop and there is a remote debugger[/QUOTE]
Luckily I still had the page open so here's the code he posted:
[code]#include <stdio.h>
#include <windows.h>
int main(void) {
SYSTEM_INFO si;
GetSystemInfo(&si);
printf("The page size for this system is %u bytes.\n", si.dwPageSize);
return 0;
}[/code]
For what it's worth, I expect RT to be 4KB, but my thought is that with this new push, namely with Windows Server on Centriq, we may see something different as the time investment may be more worth it.
i was going to see if i could compile an ARM targeted executable in my VS, but i wasn't seeing how to target ARM
Sorry, you need to Log In to post a reply to this thread.