OSDev.org

The Place to Start for Operating System Developers
It is currently Thu Mar 28, 2024 8:17 am

All times are UTC - 6 hours




Post new topic Reply to topic  [ 72 posts ]  Go to page Previous  1, 2, 3, 4, 5
Author Message
 Post subject: Re: What are services
PostPosted: Sun Oct 30, 2022 2:22 pm 
Offline
Member
Member
User avatar

Joined: Sat Mar 31, 2012 3:07 am
Posts: 4591
Location: Chichester, UK
devc1 wrote:
Wow, how do you access 64 bit addresses using this PAE thing ? Do you remap them or what ? I don't know anything about PAE else than it just adds a few bits.

You could probably profit from reading the Intel/AMD programmers reference manuals.


Top
 Profile  
 
 Post subject: Re: What are services
PostPosted: Sun Oct 30, 2022 2:44 pm 
Offline
Member
Member

Joined: Tue Apr 03, 2018 2:44 am
Posts: 401
rdos wrote:
nexos wrote:
rdos wrote:
RISC architectures are too unstable

By whom may I ask :wink:


The protected mode interface in x86 processors has existed since the 80s, and still is functional. Give me an example of a RISC processor where the binary code written a decade ago still works on a modern variant. That's what I meant by unstable.


MIPS? 64-bit MIPS goes back at least 30 years, and I dare say user code written in 1992 would run unchanged on any recent 64-bit MIPS implementation (OS permitting, of course, no more Irix or RISC/os and their respective platforms these days.)

SPARC? I'd wager money on binaries I compiled in 1998 (my first job using Solaris) would run unchanged on Solaris 11. Any incompatibilities would be software rather than hardware, and the same would be true for x86 based software as well (outdated libraries no longer being supported, for example.)

But proprietary software aside, both of the above as well as x86 would have common software available in the form of NetBSD, and I suspect the latest NetBSD (9.2) could run NetBSD binaries from nearly 30 years ago on each of these platforms.

Binary compatibility is almost always software limited at user level.

rdos wrote:
nexos wrote:
rdos wrote:
I don't particularly enjoy portable C code scattered with ifdefs that I don't know the values of.

No different than assembly where you have no idea what values are in what registers.


The expected register content should be documented for each procedure. The values of ifdefs are never documented per source file, might not even be found in the projects include files, and sometimes are created by autoconf. Basically no project will document what the ifdefs are supposed to be set to or what their functions are.

Personally, I've adopted ifdef free programming. There are no ifdefs in the code I write, and I typically will remove ifdefs in code I port. Something that increase readability a lot.


Now I won't argue with you there. I think the only ifdefs I use are to turn on extra debug features. Different implementations will go in different files, with common code shared separated completely from non-shared code.


Top
 Profile  
 
 Post subject: Re: What are services
PostPosted: Sun Oct 30, 2022 4:16 pm 
Offline
Member
Member

Joined: Tue Feb 18, 2020 3:29 pm
Posts: 1071
devc1 wrote:
I just wonder, why there is only AVX512. Why can't we have some extension that let's us do math on 1000 integers at once like gpus ? Or perform parallel conditionnal jumps on those 1000 integers ?

Err... the laws of physics? Supporting that would add an absolutely huge number of transistors and memory space on the CPU die, (especially in a mulit-core system, and that means the chip would have to get bigger, and then you start running into all kinds of issues with that.

I mean, maybe once they develop a 1nm process that might be possible. But I doubt it. And besides, the CPU would consume so much power with all that, I have a feeling that we would have bigger issues...

_________________
"How did you do this?"
"It's very simple — you read the protocol and write the code." - Bill Joy
Projects: NexNix | libnex | nnpkg


Top
 Profile  
 
 Post subject: Re: What are services
PostPosted: Sun Oct 30, 2022 4:49 pm 
Offline
Member
Member

Joined: Fri Feb 11, 2022 4:55 am
Posts: 435
Location: behind the keyboard
Then why GPUs have thousands of cores and in each core they can perform maths on thousands of values in parallel


Top
 Profile  
 
 Post subject: Re: What are services
PostPosted: Sun Oct 30, 2022 5:36 pm 
Offline
Member
Member

Joined: Tue Apr 03, 2018 2:44 am
Posts: 401
devc1 wrote:
Then why GPUs have thousands of cores and in each core they can perform maths on thousands of values in parallel


GPUs have lots of parallel cores, each of which operate in parallel on one or two scalar values.

So, the parallelism is coming from otherwise simple cores doing the same operation on a vector of inputs, with each core doing its share of the input vector.

What you're describing is 1000's of cores each handling 1000's of values in parallel. That'd be scaling in the millions of operations in parallel, which is several orders of magnitude more than what is actually happening.

Apart from anything else, the bandwidth required to feed millions of parallel execution units would be colossal, Terabytes per second sort of bandwidth.


Top
 Profile  
 
 Post subject: Re: What are services
PostPosted: Sun Oct 30, 2022 6:37 pm 
Offline
Member
Member

Joined: Tue Feb 18, 2020 3:29 pm
Posts: 1071
devc1 wrote:
Then why GPUs have thousands of cores and in each core they can perform maths on thousands of values in parallel

To add to what was already said, GPUs don't need to focus quite as much on cache memory / branch prediction, both of which take up a fair amount CPU die space.

_________________
"How did you do this?"
"It's very simple — you read the protocol and write the code." - Bill Joy
Projects: NexNix | libnex | nnpkg


Top
 Profile  
 
 Post subject: Re: What are services
PostPosted: Mon Oct 31, 2022 1:14 am 
Offline
Member
Member
User avatar

Joined: Sat Mar 31, 2012 3:07 am
Posts: 4591
Location: Chichester, UK
devc1 wrote:
Then why GPUs have thousands of cores and in each core they can perform maths on thousands of values in parallel

GPUs are designed to perform the same operation, simultaneously, on a large data set, but are not so efficient at running a single thread. General purpose CPUs are designed to run a small number of independent threads very quickly and very efficiently. Although the former use case is found when processing images, or in scientific work, other programs represent the latter.

It’s difficult to see much use for massively parallel computations in an operating system, a program of interest to many here. But it would be an interesting experiment to write an OS designed to run just on a graphics card.


Top
 Profile  
 
 Post subject: Re: What are services
PostPosted: Mon Oct 31, 2022 2:24 pm 
Offline
Member
Member

Joined: Wed Oct 01, 2008 1:55 pm
Posts: 3191
devc1 wrote:
Wow, how do you access 64 bit addresses using this PAE thing ? Do you remap them or what ? I don't know anything about PAE else than it just adds a few bits to addressing.


PAE use the same page table entries as long mode, except that you can only map 4G of linear memory. In fact, it's quite possible to share page tables between long mode and protected mode PAE since they are identical up to 4G.


Top
 Profile  
 
 Post subject: Re: What are services
PostPosted: Mon Oct 31, 2022 4:00 pm 
Offline
Member
Member

Joined: Fri Feb 11, 2022 4:55 am
Posts: 435
Location: behind the keyboard
So from what I understand, you will use the 4gb protected mode page tables but in each page table entry you can set a 64 bit physical address ?


Top
 Profile  
 
 Post subject: Re: What are services
PostPosted: Mon Oct 31, 2022 11:01 pm 
Offline
Member
Member

Joined: Wed Aug 30, 2017 8:24 am
Posts: 1593
devc1 wrote:
So from what I understand, you will use the 4gb protected mode page tables but in each page table entry you can set a 64 bit physical address ?
Yes. Or at least close enough. It is actually only 52 bits because of limitations placed on the format, but that should not really matter at this time.

_________________
Carpe diem!


Top
 Profile  
 
 Post subject: Re: What are services
PostPosted: Tue Nov 01, 2022 5:10 am 
Offline
Member
Member

Joined: Fri Feb 11, 2022 4:55 am
Posts: 435
Location: behind the keyboard
This is not in the topic, but does anyone have a full NTFS specification or atleast a read/write/create/delete files specification ? Or should I depend on the linux sources ?

I found a spec in the internet, but it just shows that there are MFTs, Logs and thing without showing how to use them.


Top
 Profile  
 
 Post subject: Re: What are services
PostPosted: Tue Nov 01, 2022 11:37 am 
Offline
Member
Member

Joined: Mon Mar 25, 2013 7:01 pm
Posts: 5099
Microsoft has not made the NTFS specification public. Any information you find will be reverse-engineered and probably incomplete.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 72 posts ]  Go to page Previous  1, 2, 3, 4, 5

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 60 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group