> ОЗУ - блочное устройство?В общем случае за него не считается - ибо произвольно адресуемо вплоть до побайтового доступа. В блочном устройстве нельзя пойти и изменить только 105-й байт от начала памяти, минимальный юнит это сектор/блок. И идем кантовать минимум 512 байтов кусок, даже если хотели 1 байт изменить. А то и 4К в более современных хардах. Ну вот не умеет оно записывать 1 байт. Потому и блочное.
В Flash еще хитрее, там есть "pages" и "eraseblocks" а запись разнесена 2 разные операции, стирание и программирование. И если pages еще могут на сектор смахивать то eraseblock измеряется в мегабайтах. Так что это еще и КРУПНОблочное устройство, да еще с нетривиальными заморочками, и наружу - довольно приблизительная абстракция. А пойти и гарантированно записать 105-й байт от начала девайса? Не, так в флеше в общем случае нельзя. Иногда, и с большими оговорками - может быть, но при этом все равно с eraseblocks знакомство состоится. Так что наружу они предстают чем-то с блоками, отличие этой абстракции от реальных кишок дико варьируется, от почти 1 в 1 до огромного FTL.
При желании из RAM можно эмулировать блочный девайс, но это лишь эмуляция. Умея писать в произвольный регион, соврать что нифига, только блоками - да не вопрос. Наоборот ессно не то чтобы нельзя но сильно менее эффективно - поддержать абстракцию произвольного доступа можно только RMW на весь блок. Прочитать сектор, запатчить там 105-й байт, записать обратно. Своротив все 512 байтов ради одного. Потому и блочное.
> реально хочу, что бы автомобиль летал, вопрос тот же - должен он летать?
С учетом числа тех кто пытается такое сделать, и sci-fi где оно так - возможно что да. Глупо утыкаться в 2 измерения и стоять в пробках когда измерений три. А я от вас отличаюсь тем что на самом деле хочу - небольшой звездолет с гипердвигателем и машиной времени. Чтобы навигировать по 4 измерениям как босс. Ну вот и с файлухами так же.