На 8 юни 2014 излезе Линукс ядро 3.15
Основните нововъведения в него са:
По-бързо стартиране след приспиване на системи с твърди дискове
Подобрено изчисление на размерите на активната и неактивната памет
Зареждане на EFI 64 битови ядра от 32 битов фирмуеър
Нов вид заключване на файлове – частно заключване
Преименуване на два файла, чрез размяна на имената им
zram: LZ4 компресия и подобрена производителност
По-бързо стартиране след приспиване на системи с твърди дискове
Възстановяването на системата след приспиване изисква доста време на машини с традиционни твърди дискове, защото системата блокира процеса, докато не завърши стартирането на диска. В новата версия командите, изпращани към диска, се приемат асинхронно и се съхраняват в опашка, така че останалата част от системата може да продължи събуждането си като използва кешираните данни в паметта. Това намалява времето за възстановяване с няколко секунди. За повече информация вижте този блог.
Подобрено изчисление на размерите на активната и неактивната памет
Когато няма достатъчно място за всичката необходима памет в RAM-а, ядрото отговаря за това, коя памет да остане там и коя да бъде сложена в swap или напълно освободена. С цел да се вземат правилни решения е необходимо да се следи коя памет най-много се използва и си заслужава да се съхранява в RAM-а и коя да се измести. Линукс прави това като поддържа 2 списъка с памет – „активна“ и „неактивна“. Когато някакви данни трябва да се преместят в RAM-а, тяхната памет се маркира като „активна“. С използването на повече памет активният лист се напълва и част от по-неизползваната памет се премества в неактивния лист. Проблемът с този алгоритъм е как да се определи колко големи да бъдат списъците. Преди ядрото се опитваше да не позволява на активният лист да стане по-голям от неактивния, но този подход причиняваше проблеми. В новата версия се използва по-добро следене на това как се използва паметта, което позволява по-добро балансиране на листовете. Това помага на Линукс да се представя по-добре с по-големи натоварвания, да се приспособява към промени в натоварването и създава основи за изграждане на различни поведенчески модели в бъдеще. За повече информация: LWN
Зареждане на EFI 64битови ядра от 32битов фирмуеър
Повечето модерни x86 процесори са 64битови, но много системи се продават с 32битово EFI. Това не позволява на тези компютри да се стартира 64битов Линукс. С новата версия това ограничение отпада. Забележете, че не можете да стартирате ядро в миксиран режим. За тази цел трябва да се използва EFI handover протокола.
Нов вид заключване на файлове – частно заключване
Поради злополучни събития в миналото, заключванията в POSIX имат доста странна и неудобна семантика. Те се премахват, винаги когато процеса затвори някой файлов дескриптор, асоцииран с inode-а на файла и заключванията, направени от различни нишки в един и същ процес, не влизат в конфликт едно с друго, което ги прави безполезни при синхронизиране между нишките. Сега е добавен нов вид заключване, което се опитва да реши тези проблеми. То влиза в конфликт с класическите POSIX заключвания, но има семантика подобна тези на BSD по отношение на наследственост и поведение при затваряне. За повече информация и как да използвате новото API, прочетете тази статия в LWN.
Преименуване на два файла, чрез размяна на имената им
В тази версия е добавена възможност за едновременно преименуване на два файла чрез размяна на имената им. Това позволява интересни подходи, които не са били възможни преди, като автомична подмяна на директория със символен линк. Също позволява на „overlayfs“ и подобни да работят с „whiteouts“ автомично.
zram: LZ4 компресия и подобрена производителност
Zram е механизъм за компресиране на памет, добавен в Linux 3.14, който се използва в Android, Cyanogenmod, Chrome OS, Lubuntu и други проекти. В тази версия е добавена поддръжка на компресиращият алгоритъм LZ4, който е по-добър от сегашният LZO в някои случаи. Също са добавени подобрения по конкурентното компресиране на множество потоци от данни и възможност за превключване на алгоритъма за компресия чрез /sys/block/zram0/comp_algorithm.
Източник: Linux-bg