Blog: On installers
Moderator: Moderator Team
Re: Blog: On installers
Wikipedia offers a very shallow description of most technical topics. It says little about the complications, challenges, and more importantly, background and infrastructure of the technologies. You're also jumping almost randomly from technology to technology with little coherence.
-
- Posts: 7
- Joined: Mon May 19, 2014 6:55 am
Re: Blog: On installers
An Excerpt from the Wikipedia_NVMe"A major application of NVMe is SATA Express, which is a new and backward-compatible interface specification supporting either SATA or PCI Express storage devices. SATA Express can use either legacy AHCI or new NVMe as the logical device interface.[1]"Z98 wrote:Wikipedia offers a very shallow description of most technical topics. It says little about the complications, challenges, and more importantly, background and infrastructure of the technologies. You're also jumping almost randomly from technology to technology with little coherence.
[1]https://www.sata-io.org/sites/default/f ... paper_.pdf
How DO YOU know the SSD your working on is not NVMe+SATAExpress?
Re: Blog: On installers
Because we know what parts are in our computers.
Re: Blog: On installers
Block devices those use 4KiB blocks are Advanced Format HDDs, SSDs have mebibytes-sized TRIM blocks. The alignment scheme you suggested will fail with older CHS disks, a proper alingnment may be done like the following pseudocode:Z98 wrote:One of the things ReactOS does not have proper support for right now is installing on SSDs. Yes, ReactOS can be installed on one, but the inefficient nature of the current partitioning scheme does not do a SSD's lifetime any good. Right now partition alignment is based on cylinder boundaries with 63 sectors per track. This unfortunately does not align with the 4K blocks that SSDs use so there is some inefficiency/waste going on here. One solution would be to detect whether ReactOS is being installed to a SSD versus a harddrive and align accordingly. The other solution would be to always use megabyte alignment for partitions.
Code: Select all
If disk is accessed using CHS addressing:
If there are any MBR/BSD/APM partitions:
Align partitions into max(GCD(existing partitions beginnings),cylinder size) bytes
Else-if there are is any other recognized partition scheme:
Align partitions into max(4*cylinder size,partition table size)
Else:
Align partitions into cylinder size
Else if disk is accessed via LBA addressing:
If any GPT partitions exist:
Align partitions into max(1'048'576,GCD(existing partition beginnings,GPT size)) bytes
Try to add an EFI boot manager entry for ReactOS on install time
Else-if any MBR partitions exist:
If IO.SYS or Windows/WIN.COM or PART.EXE exists in a FAT partition:
Align into LCM(cylinder size,GCD(existing partition beginnings)) bytes
Else:
Align partitions into LCM(physical sector size,GCD(existing partition beginnings))
Else:
Align partitions into LCM(physical sector size,partition table size)
If no partitions fit using alignment despite free space:
Try alingment in following order:cylinder size,partition table size,single sectors.
-uses Ubuntu+GNOME 3 GNU/Linux
-likes Free (as in freedom) and Open Source Detergents
-favors open source of Windows 10 under GPL2
-likes Free (as in freedom) and Open Source Detergents
-favors open source of Windows 10 under GPL2
Who is online
Users browsing this forum: Google [Bot] and 47 guests