DragonFly BSD היא מערכת הפעלה BSD בקוד פתוח, שנועדה להיות המשך הגיוני לסדרת מערכת ההפעלה FreeBSD-4.x. זה מאוד דומה אחרים BSD מבוססי הפצות, כגון FreeBSD, NetBSD או OpenBSD. זהו מזלג בנתיב, כביכול, נותן בסיס BSD הזדמנות לגדול בכיוון חדש לגמרי מזו נלקח בסדרה FreeBSD-5. נוסף על כך, הוא כולל קבוצה ייחודית של תכונות המבדילות אותו ממערכות הפעלה דומות אחרות.
המר הוא האטרקציה העיקרית
HAMMER היא האטרקציה העיקרית של DragonFly & rsquoo, מערכת קבצים מודרנית בעלת ביצועים גבוהים, הכוללת פונקציונליות גישה היסטורית ושיקוף מובנה. הקרנל הוא גם אחת הסיבות מדוע DragonFly היא הפצה BSD טוב יותר.
מציע שני לוחות זמנים שונים עבור הקרנל
הגרעין של DragonFly & rsquo; s כולל שני לוחות זמנים שונים, אחד זה לוחות זמנים כל ישויות הפעלה (Light Light Kernel Thread) ועוד אחד בוחר חוט משתמש יחיד בכל פעם עבור כל מעבד תמציות את האשכולות המשתמש (מתזמן משתמש מתזמן). בנוסף, הקרנל כולל מאפיין זיכרון מורכב של ליבה המורכב ממאגר זיכרון מונחה עצמים ומאלוק בסיסי של הליבה הנקרא kmalloc (), מערכת הקבצים של ההתקן DragonFly (DEVFS), ליבה וירטואלית (VKERNEL), NFS V3 RPC אסינכרוניזציה, וכן דיסק I / O מסגרת מתזמן (dsched).
תכונות, המון תכונות
בין תכונות מעניינות אחרות, אנו יכולים להזכיר את שכבת Fileystem System NULLFS (NULLFS) התומכת בנקודות הרמה שרירותיות שאינן לולאות, TMPFS (VFS זמניים), הצפנת דיסק שקוף, SSD מנוהל (Solid Storage Device) רגיש) symlinks, DNTPD (DragonFly רשת זמן Daemon) ו DMA (DragonFly Mail Agent). בנוסף, משתמשים יוכלו לבדוק או להשעות תהליכים לדיסק בכל עת. הפצה מספק נהגים AHCI חזק, שמות התקן יציב, כמו גם הצפנה מקורקעת היטב וניהול נפח.
שורה תחתונה
בסך הכל, DragonFly מוכיחה להיות מערכת הפעלה מודרנית, ידידותית למשתמש ונגישה מאוד ל- UNIX. ניתן להשתמש בו על בסיס יומי כמערכת שולחנית או כשרת BSD חזק.
מה חדש במהדורה זו:
- גרסת DragonFly 5.2.1 פורסמה, עם הפחתה של Meltdown / Specter, שיפורים רבים ל- HAMMER2, ipfw, וכן וידאו מואץ, וכן (בעדכון 5.2.1) לתקן CVE-2018-8897.
מה חדש בגרסה:
- כריסטיאן גרוסלר (1):
- מתיו דילון (7):
- hammer2 - תקן מחלק ב -0 מירוץ
- ליבה - MFC סלקטיבי של ליבת umtx עבודה מאסטר
- kernel - עדכון תיעוד umtx
- libc ו pthreads - תקן בעיות atfork עם nmalloc, עדכון dmalloc
- hammer2 - תקן שינוי שם המירוץ
- hammer2 - optimize hammer2_pfs_memory_wakeup ()
- hammer2 - תקן רשתות מלוכלכות בלתי מוגבלות עקב שינוי שם
- סאשה וילדנר (5):
- hammer2.8: תקן שגיאת הקלדה.
- אמור 'hammer2' במקום 'פטיש' במקומות שונים.
- mtree: תקן את הבעלים עבור מספר ספריות ב / usr / share.
- libc / nls: השתמש באזור הנוכחי (מוגדר על ידי חוט).
- libarchive: חזור להתחייב שלא נועד לדחוף.
<פרטי מערכת ההדפסה (מערכת הפעלה וארכיטקטורה) לפני הנחית ההתחברות.
מה חדש בגירסה 4.8.1:
- ליבה:
- קוד מטמון של מאגר חיץ כדי להסיר הזמנות KVA דינמיות. במקום זאת, כל KVA שמורה בזמן האתחול. חוסך אותנו ממכשירי IPI מיותרים ומאפשר פישוט משמעותי בקוד מטמון המאגר.
- הוסף vfs.repurpose_enable (תחת בדיקה, מושבת כברירת מחדל). תכונה זו יכולה להיות מופעלת כדי להפחית באופן משמעותי את העומס ניהול IPI ו- VM על מכונה אשר עושה כמויות עצומות של קובץ I / O, למשל מ SSM NVMe, על ידי עקיפת מנגנון מיחזור דף VM רגיל. כאשר מאופשר, התכונה מפעילה רק תחת עומסי קלט / פלט גבוהים. זה עובד על ידי repurposing את דפי VM בבסיס חיץ במקום (כאשר אפשר), כך שלא צריך kremove / kenter את הדפים ב KVA של המאגר. מיחזור רגיל של דף VM (שאחרת היה מוצף על ידי עומס I / O) הוא עקף גם כן.
- לשנות את האופן שבו מעובד IPIQ, ובמיוחד ליצור מנגנון וקטור עצמאי של Xinterrupt עבור אי הכללות דפים שמתעלמות (יפעלו) גם אם יוחזק סעיף קריטי. ליישם machdep.optimized_invltlb (מושבת כברירת מחדל, תחת בדיקה) אשר נמנע שליחת tIb פסולים IPIs כדי cullus סרק.
- לתקן מירוצים רבים שעלולים להתרחש תחת עומסים קיצוניים. רוב המקרים להשתמש לעולם לא להפעיל אלה אבל הקופסאות לבנות שלנו עשה מדי פעם. לדוגמה, היה שם שני מרוצי הדרכה שבהם סיביות המעבד עבור pmap יוסרו (עבור שתי הוראות) ולגרום ל- IPI TLB המתרחש באותו זמן על מעבד אחר עבור אותו pmap כדי לא להבין כי המעבד היה משתמש pmap . התיקון הוא להשבית את האופטימיזציה מחדש של CR3 עבור המקרה LWP ו- gt; LWP (אותו proc).
- תיקון באג HAMMER שעלול לגרום לשגיאת DATA CRC שלא דווחה כראוי.
- תקן את הכתיבה הכפולה המופעלת על ידי האופן שבו HAMMER משתמש ב- cluster_write (). זה משפר באופן משמעותי את הביצועים של HAMMER לכתוב.
- ניקיון ותיקונים רבים אחרים של HAMMER נכנסו גם הם.
- תיקון מנעול קשיח שעלול להתרחש ב- getpbuf * () עקב פרשנות שגויה של ערך ההחזרה של אטומית.
- תקן פסיקה בערימה שעלולה להתרחש בחלון של 10 הוראות, שעלולים להיות (אך לא נמצא בטבע), תוך הפעלת ערימת הקרנל.
- גזור את ערכי ה- IPI הקשורים ל- pmap במחצית עבור פעולות מסוימות של מטמון-מאגר, על-ידי אי-הטרחה לפסול את ה- TLB, ובצד ההפוך תמיד בוטל ה- TLB בעת הזנת PTE חדש, גם אם התוכן הקודם אינו חוקי. זה משפר את הביצועים וגם הופך את איתור הבאגים לקל יותר על-ידי הסרת אופטימיזציה בעייתית.
- תיקון מספר מירוצי SMP קשים להפעלה, במיוחד אחד הקשור לביצוע פעולות סימולטניות של נקודות הר שונות, אשר ניתן לבנות את התדר. כמו כן לתקן מרוץ umount vs.
- צמצם את מספר האופציות האטומיות בנתיב המתג.
- לתקן את המרוץ / פאניקה של namecache אשר עלול להתרחש תחת עומסים קיצוניים יחד עם הרבה הר / פעילות umount.
- הגבל את הדגימה של rip rip לשורש.
- תקן בעיה getpid () ב- vfork () כאשר משורשרת. בפרט, במקביל vfork () s בתוכנית השחלה עלול לגרום PID הלא נכון להיות מוחזר על ידי getpid () אצל הילד לפני exec.
- תקן מירוץ tsleep / Callout נדיר כאשר טיימר הסברים מופעל לפני tsleep () נעשה לחלוטין הגדרת.
- ניקיון של הודעות נמק על-גבי המסוף. בפרט, דווח על הזמן שחלף כראוי ועל td_comm של החוט מעורב.
- הפחת עוד יותר את בדיקת הזיכרון ואת האתחול המוקדם כדי לשפר את זמני האתחול במערכות עם כמות גדולה של איל.
- הסר לחלוטין את קוד האיפוס של דף לא פעיל. אפס דף על מעבד מודרני על פי דרישה הוא טוב יותר מסיבות רבות, והוא עשוי למעשה להיות מהיר יותר בשילוב עם הצרכן גישה לנתונים בדף, בשל השפעות המטמון. הסר את PG_ZERO, מכיוון שכבר אין צורך בכך. הסרה של PG_ZERO גם גורמת לגרעין להתפתח יותר על ידי הסרת מקור אפשרי אחר של זיהום צולב.
- refactor ולסיים ליישם לוקליזציה של CPU עבור הקצאות זיכרון ליבה. שלב עם מודעות NUMA. זה עובד עבור cpu מקומי או קצר גרעין מבני נתונים. השניים משולבים יחד בהפשטה PQ_L2_SIZE שלנו, אשר בעבר הייתה קוד צביעה של דף VM. קוד זה גם מטפל לוקליזציה CPU ו מודעות NOA.
- תקן בעיות רבות של vkernel ושיפר משמעותית את ביצועי vkernel.
- עדכן את kern.proc.pathname, sysctl המשמש את התוכניות כדי לאתר את הנתיב של תוכנית הריצה. סיסקטל זה יושם במקור לפני ששמרנו נתונים מספיקים כדי להחזיר נתיב מלא ונכון.
- סינכרון ACPICA מאינטל (זהו אירוע רגיל).
- תקן את הרכיב memcpy () ABI. האספה לא החזירה את הטיעון המקורי. לא לתקן בעיות ידועות אבל סוגר חור כאשר GCC לפעמים מחליט להתקשר memcpy בעת יצירת קוד.
- רבים מתחייבים לנקות -O2 אזהרות ושגיאות. הקרנל הוא כעת הידור -O2 כברירת מחדל.
- הוסף פתרון לעקיפת תשואה לא נכונה בנתיב ACPI (aka קוד ACII).
- תקן מרוץ STOP / CONT שעלול להיות מופעל על ידי אות בהמתנה בזמן הלא נכון.
- תיקוני coredump מתוברגים ולתקן נעילה הקשורה לאותו נושא כאשר מספר חוטים של אותו תהליך תקלה באותו זמן.
- תיקון תקלה ב- CAM / VM שעלולה להתרחש עקב באג ב- uiomove_nofault (). זה עלול לגרום 'חיץ לחכות אינסופי' במהלך החלפה / החלפה כבד.
- הוסף קוד כדי לאתר ולטפל במכשירי IPI שאבדו. זה בעיקר עבור vkernels שבו כמה המארחים וירטואלי יכול לאבד IPIs. מעבדים אמיתיים אינם אמורים לאבד את רכיבי ה- IPI.
- תיקונים שונים ל- clock_gettime ().
- הסר שרידים נוספים של MPLOCK. כל הנתיבים הקריטיים כבר מזמן נפרדו מנעול זה, אך עדיין נותרו מספר מקומות לא קריטיים המשתמשים בו.
- עיבוד מחדש של תהליך הזיכרון הנמוך הורג קוד ותיקן מספר מירוצים שימנעו מהתכונה לפעול.
- תקן נעילת מערכת באמצעות VMM ופעל מחדש את קוד VMX.
- תקן קיפאון כאשר numvnodes מגיע maxvnodes, אשר יכול להתרחש תחת עומסים כבדים. גם לתקן דליפת זיכרון ליבה קטין כאשר 'df' או סינכרון קבצים מרוץ aumount. גם להפחית את החישוב maxvnodes בצניעות. לדוגמה, מכונה עם 8GB של RAM עכשיו להגדיר maxvnodes ל 478483 במקום 598103.
- תיקון פאניקה נדירה שניתן להפעיל על ידי vm_object_page_remove () כאשר user_yield () נקרא בצורה לא נכונה בעת החזקת spinlock, ולאחר מכן מחליט לדחות.
- הקטן את הגודל של כמה מבני הקרנל שהוקצו באופן דינמי. בפרט, הקצאה מוגזמת בגודל הקצאת טבלאות שולחן עכשיו הם קטנים יותר. בעיקר משפיע על UFS (אשר DragonFlyBSD אינו משתמש הרבה).
- הוסף פתרון עוקף עבור AMD erratum 793.
- תקן קיפאון שעלול להתרחש באשכול מוערמות * * () שיחות I / O.
- תיקון באג שבו טעינה של מודול רקורסיבי עלולה להיסגר.
- תיקון שגיאות מטופשות בקוד ה- NFS sillyrename (צד השרת NFS) אשר עלול לגרום לקוד ה- sillyrename של שרת NFS לא להסיר את הקובץ ששמו השתנה. כמה טיפשי!
- בצע עבודה טובה יותר עם תצורות high-ncpu + Low-memory.
- spinlocks משותפים של Refactor כדי להפחית את כמות הטווייה שיכולה להתרחש כאשר מעבדים מרובים מרוכזים ספיניוק משותף באותו זמן.
- שיפוץ פעולות namecache כדי להפחית עוד יותר את המחלוקת של SMP. דבר זה משפר ביצועים סימולטניים לא-סותרים של רכיבים חד-רכיביים לפחות 25x במערכות עם ליבות רבות, ומפחית באופן משמעותי את ה - vnode והרכבה של מבנה הרמקולים והפעולות ללא הגבלה.
- שיפוץ מבני גרעין רבים נוספים כדי לשפר את יישומי המטמון ולהפחית את הקפיצה של שורת המטמון.
- תיקון באג בקוד שינוי שם הקובץ של SMBFS.
- ליישם RLIMIT_RSS, מגבלת RSS לכל תהליך אשר יכפה החלפה מקומית על בסיס לכל תהליך. ניתן להשתמש בתכונה זו כדי למנוע תהליך אחד מלהפוך את שאר המכשיר למקרה קשה.
- הגדל את שטח החלפה המקסימלי הנתמך. המקסימום הוא עכשיו מוגבל בעיקר על ידי איל יהיה בעשרות טרה (אם יש לך מספיק RAM עבור מבנים ניהול תמיכה). גם להגדיל את KVM ליבה של 128G ל 511G.
- בצע מחיקה דינמית של pmap (מושבת כברירת מחדל). זה מכוון את הקוד pmap למחוק דפי ביניים עמוד עמודים PDs מ pmap על לטוס. זה יכול להיות שימושי אם הזיכרון הוא בפרמיה, אבל שים לב שאם מאופשר, זה יהיה איטי ביצוע של תוכניות אשר להקצות ו deallocate זיכרון בקצב גבוה.
- משפר את יעילותם של רמות "נחמד" של המשתמשים, מה שהופך את הערכים הנבחרים שנבחרו ליותר משמעותיים משהיו בעבר.
- הוסף מנהל התקן NVME בעל ביצועים גבוהים ל- DragonFly, שנכתב על ידי מאט דילון. מנהל התקן זה ישתמש בקטעי MSI-X ובכל התורים הזמינים הנתמכים על-ידי המכשיר, לוקליזציה לכל מעבד ללא נעילה או נעילה מינימלית (ללא התנגשויות SMP ברוב המקרים), והוא מסוגל לשדר IOPS ותפוקה.
- גרפיקה:
- מייצב את Broadwell ו- Skylake, העלה אותנו אל ה- DRM המקביל ל- Linux 4.6.
- ליישם את ממשק ה- API של i2c לינוקס כדי להקל על ההחלפה.
- תקן כמה באגים ישנים, כולל היפוך סדר נעילה, אשר עלול להשהות את הפעלת הווידאו (ואת שאר X).
- תיקון שגיאת עדיפות של הליבה ב- drn של הליבה שאיפשרה לתהליכי משתמש להיות בעלי עדיפות גבוהה יותר מאשר הליך המשנה של drm. פעולה זו קובעת את רוב דוכני הווידאו הזמניים המדווחים בדפדפנים.
- ידית את מסגרת ה- EFI של ה- EFI שעברה ל- DRM, שפר את הסיסמאות של החלפת ה- VT ותקן קיפאון קשור. כמו כן יש את הקרנל מנסה לעבור בחזרה VT קונסולת מ X כאשר פאניקה מתרחשת.
- עבודה ברשת:
- שיפורים רבים בכל הלוח.
- iwm - מתקן בעיה הנגרמת על-ידי לוגיקה הפוכה. שיפורים רבים אחרים אשר משפרים באופן משמעותי את הביצועים.
- wlan - תמיכה בסריקה של bg אסינכרוני ותכונות נוספות נוספו.
- מנהלי התקן אחרים:
- nvme - נוסף לבניית ברירת המחדל של הליבה, בתוספת תיקונים ושיפורים בביצועים.
- mmcsd - תמיכה משמעותית ב- eMMC נוספה ל- DragonFly.
- ahci - כמה התאמות תאימות ועוד quirks נוספו לתמוך שבבים שבורים, מכפילי יציאות בפרט. גם ליישם FBS (מבוסס FIS- מיתוג) כאשר נתמך על ידי ערכת שבבים.
- נוספו תמיכת Trackpoint ו- Elantech.
- UserLand:
- systat משופרת כדי לכווץ מספר קטעים משייכים לאותו מנהל התקן, שכן לעתים קרובות יותר מדי לרשימה כעת.
- systat -vm 1 משופר ומשופר בצורה משמעותית כדי לדווח על מידע שימושי יותר ולפרוק שדות כך שלא ייתקלו זה בזה. הוסף 'nvme' כדי להתאים את המכשיר בלוק. גם להתאים את התצוגה vmstats המורחבת ולשנות כיצד ozfod ו nzfod הוא דיווח.
- 'vmstat 1' מוצפן מחדש. כל השדות התנגשו זה בזה בגלל הביצועים הגבוהים של פסוקי מכונה מודרניים מה שהיה לפני 30 שנה.
- לשנות את הר / mountd איתות כדי להפחית מיותר mountlist סריקות ופקודות מ mount_null ו mount_tmpfs פעולות. רק חשוב באמת תחת שימוש בו זמנית כבד של הר / umount, אבל לבנות בתפזורת למעשה יוצר את המצב.
- לתקן מזלג / exec * () דליפות כי libc יכול להפעיל בשל לא באמצעות O_CLOEXEC באופן אטומי. הוסף תכונות O_CLOEXEC שונים לפונקציות כמו popen () ו- mk * stp * () (הוסף mkostemp () ו- mkostemps ()). תקן מתאר קובץ דליפה ב popen () כאשר פועל בסביבה משורשר.
- להיות נחמד יותר pthreads ב vfork () על ידי מתן לולאה תהליך המשנה החדש של אותו TID כמו זה שנקרא vfork (). זה מאפשר פונקציות תמיכה pthread לבצע את הילד במהלך vfork מבלי לפוצץ pthreads.
- הרבה תיקוני תאימות לכותרות כדי לשפר את ההיבטים בתפוצה רחבה של dports.
- מספר יבוא OpenSSL לתיקוני אבטחה.
- Resync OpenSSH כדי שיהיה קל יותר לשמור אותו uptodate.
- הפרד את דגמי הקרנל C על-ידי שימוש בקרנל KLFLAGS במקום ב- CFLAGS.
- הסר מספר רב של נהגים ישנים של ISA מהעץ לחלוטין. מכיוון ש- DragonFlyBSD הוא כעת 64 סיביות בלבד, אנו יכולים להתחיל להסיר מנהלי התקנים ישנים שאינם קיימים בפלטפורמות של 64 סיביות.
- הצג את WORLD_CFLAGS ואת WORLD_CCOPTLEVEL, כברירת מחדל ל- O. כך קל יותר לקמפל את העולם שלך - או 2 (למשל, WORLD_CCOPTLEVEL = 2). עם זאת, אנו מעודדים שימוש 3 ומעלה. ערכים חוקיים הם 0, 1, 2, 3, s, g ו- 'fast'.
- התאם את עיצוב הסטטוס עבור ps כדי להפוך אותו לקריא יותר ולהסיר דגלים עתיקים שאינם ישימים עוד ורק ליצור העומס.
- תקן יישור malloc () עבור הקצאות קטנות. היישור המינימלי הוא כעת 16 עבור הקצאות בטווח 16-128 בתים במקום 8. שים לב כי הקצאת כוח של 2 תמיד היו מיושרים באופן טבעי, אבל כמה תוכניות להשתמש בכפולות של (למשל) 16, כמו '48', ו הנח יישור של 16 בתים.
- גרסאות משופרות, נוספו.
- powerd - הוסף ניהול מבוסס טמפרטורה כדי powerd עם חדש -H lotemp: אפשרות hightemp. תכונה זו שימושית מאוד על מחשבים ניידים עם קירור ירוד whos BIOSes בכוונה מצערת בטמפרטורה גבוהה מדי. Powerd עכשיו גם מזהה שינויים במצב החשמל (אשר יכולים לשנות את רשימת התדרים הזמינים) ומעביר כראוי את השירות כאשר מתרחש שינוי במצב הספק.
- הרבה תיקונים והתאמות libthread_xu / pthreads לשיפור הביצועים של dports.
- הוסף תכונות של העתקה בזמן כתיבה ל- vkernel. לדוגמה, מאפשר vkernels מרובים להשתמש בתמונת דיסק אחת על ידי בעל כל אחד השינויים פרה פנימי ל- RAM.
- / usr / src / secure rewired, התנגשויות שהוסרו מ- libmd, libcrypt.
- כלים שונים שודרגו במערכת הבסיס:
- המהדר עודכן ל- GCC 5.4.1.
- יש לנו כעת מקשר זהב עם LTO.
- binutils 2.25
- פחות 481.
- OpenSSL / LibRESSL שופץ לחלוטין. הבסיס משתמש כעת ב- libressl.
- עדכוני זמן מרובים.
- סטטוס האמר:
- שיפורים אחרים. דבר אחד זה לא עשה את זה לתוך שחרור היה גרסה bump להשתמש באלגוריתם CRC מהירה יותר עם פולינום שונה. עבודה זו תהיה MFC'd כדי - יש לבדוק לאחר בדיקות הושלמה. עם זאת, משתמשים לא צריכים לדאוג יותר מדי כי IS לתקן את הביצועים הרציניים ביותר במהדורה (תיקון לקוד cluster_write () עבור כותב קבצים).
- מצב Hammer2:
- ההתפתחות ממשיכה, אך עדיין אין מילה בהודעה ראשונה.
- סטטוס Clang:
- נוספה מסגרת התחלה לשימוש ב- Clang בתור המהדר הבסיסי החלופי ב- DragonFly, כדי להחליף את GCC 4.7. זה עדיין לא שלם. קלאנג יכול כמובן להוסיף כחבילה.
- סטטוס 64 סיביות:
- שים לב ש- DragonFly היא מערכת הפעלה של 64 סיביות בלבד מ -4.6, ולא תפעל בחומרה של 32 סיביות.
- תמיכה AMD Ryzen הוא שחרור ועבודה נוספת יובא כמו ההתפתחויות Ryzen חדש להתרחש. יש כמה בעיות טופולוגיה דיווחו CPU, כי יהיה קבוע MFC'd. ישנן כמה בעיות יציבות כרגע מחכה על עדכון AMD microcode כדי לפתור / לבחון מחדש. משתמשים Ryzen יכול להיות סמוך ובטוח כי אנו נשארים על גבי זה!
מה חדש בגירסה 4.8.0:
- ליבה:
- קוד מטמון של מאגר חיץ כדי להסיר הזמנות KVA דינמיות. במקום זאת, כל KVA שמורה בזמן האתחול. חוסך אותנו ממכשירי IPI מיותרים ומאפשר פישוט משמעותי בקוד מטמון המאגר.
- הוסף vfs.repurpose_enable (תחת בדיקה, מושבת כברירת מחדל). תכונה זו יכולה להיות מופעלת כדי להפחית באופן משמעותי את העומס ניהול IPI ו- VM על מכונה אשר עושה כמויות עצומות של קובץ I / O, למשל מ SSM NVMe, על ידי עקיפת מנגנון מיחזור דף VM רגיל. כאשר מאופשר, התכונה מפעילה רק תחת עומסי קלט / פלט גבוהים. זה עובד על ידי repurposing את דפי VM בבסיס חיץ במקום (כאשר אפשר), כך שלא צריך kremove / kenter את הדפים ב KVA של המאגר. מיחזור רגיל של דף VM (שאחרת היה מוצף על ידי עומס I / O) הוא עקף גם כן.
- לשנות את האופן שבו מעובד IPIQ, ובמיוחד ליצור מנגנון וקטור עצמאי של Xinterrupt עבור אי הכללות דפים שמתעלמות (יפעלו) גם אם יוחזק סעיף קריטי. ליישם machdep.optimized_invltlb (מושבת כברירת מחדל, תחת בדיקה) אשר נמנע שליחת tIb פסולים IPIs כדי cullus סרק.
- לתקן מירוצים רבים שעלולים להתרחש תחת עומסים קיצוניים. רוב המקרים להשתמש לעולם לא להפעיל אלה אבל הקופסאות לבנות שלנו עשה מדי פעם. לדוגמה, היה שם שני מרוצי הדרכה שבהם סיביות המעבד עבור pmap יוסרו (עבור שתי הוראות) ולגרום ל- IPI TLB המתרחש באותו זמן על מעבד אחר עבור אותו pmap כדי לא להבין כי המעבד היה משתמש pmap . התיקון הוא להשבית את האופטימיזציה מחדש של CR3 עבור המקרה LWP ו- gt; LWP (אותו proc).
- תיקון באג HAMMER שעלול לגרום לשגיאת DATA CRC שלא דווחה כראוי.
- תקן את הכתיבה הכפולה המופעלת על ידי האופן שבו HAMMER משתמש ב- cluster_write (). זה משפר באופן משמעותי את הביצועים של HAMMER לכתוב.
- ניקיון ותיקונים רבים אחרים של HAMMER נכנסו גם הם.
- תיקון מנעול קשיח שעלול להתרחש ב- getpbuf * () עקב פרשנות שגויה של ערך ההחזרה של אטומית.
- תקן פסיקה בערימה שעלולה להתרחש בחלון של 10 הוראות, שעלולים להיות (אך לא נמצא בטבע), תוך הפעלת ערימת הקרנל.
- גזור את ערכי ה- IPI הקשורים ל- pmap במחצית עבור פעולות מסוימות של מטמון-מאגר, על-ידי אי-הטרחה לפסול את ה- TLB, ובצד ההפוך תמיד בוטל ה- TLB בעת הזנת PTE חדש, גם אם התוכן הקודם אינו חוקי. זה משפר את הביצועים וגם הופך את איתור הבאגים לקל יותר על-ידי הסרת אופטימיזציה בעייתית.
- תיקון מספר מירוצי SMP קשים להפעלה, במיוחד אחד הקשור לביצוע פעולות סימולטניות של נקודות הר שונות, אשר ניתן לבנות את התדר. כמו כן לתקן מרוץ umount vs.
- צמצם את מספר האופציות האטומיות בנתיב המתג.
- לתקן את המרוץ / פאניקה של namecache אשר עלול להתרחש תחת עומסים קיצוניים יחד עם הרבה הר / פעילות umount.
- הגבל את הדגימה של rip rip לשורש.
- תקן בעיה getpid () ב- vfork () כאשר משורשרת. בפרט, במקביל vfork () s בתוכנית השחלה עלול לגרום PID הלא נכון להיות מוחזר על ידי getpid () אצל הילד לפני exec.
- תקן מירוץ tsleep / Callout נדיר כאשר טיימר הסברים מופעל לפני tsleep () נעשה לחלוטין הגדרת.
- ניקיון של הודעות נמק על-גבי המסוף. בפרט, דווח על הזמן שחלף כראוי ועל td_comm של החוט מעורב.
- הפחת עוד יותר את בדיקת הזיכרון ואת האתחול המוקדם כדי לשפר את זמני האתחול במערכות עם כמות גדולה של איל.
- הסר לחלוטין את קוד האיפוס של דף לא פעיל. אפס דף על מעבד מודרני על פי דרישה הוא טוב יותר מסיבות רבות, והוא עשוי למעשה להיות מהיר יותר בשילוב עם הצרכן גישה לנתונים בדף, בשל השפעות המטמון. הסר את PG_ZERO, מכיוון שכבר אין צורך בכך. הסרה של PG_ZERO גם גורמת לגרעין להתפתח יותר על ידי הסרת מקור אפשרי אחר של זיהום צולב.
- refactor ולסיים ליישם לוקליזציה של CPU עבור הקצאות זיכרון ליבה. שלב עם מודעות NUMA. זה עובד עבור cpu מקומי או קצר גרעין מבני נתונים. השניים משולבים יחד בהפשטה PQ_L2_SIZE שלנו, אשר בעבר הייתה קוד צביעה של דף VM. קוד זה גם מטפל לוקליזציה CPU ו מודעות NOA.
- תקן בעיות רבות של vkernel ושיפר משמעותית את ביצועי vkernel.
- עדכן את kern.proc.pathname, sysctl המשמש את התוכניות כדי לאתר את הנתיב של תוכנית הריצה. סיסקטל זה יושם במקור לפני ששמרנו נתונים מספיקים כדי להחזיר נתיב מלא ונכון.
- סינכרון ACPICA מאינטל (זהו אירוע רגיל).
- תקן את הרכיב memcpy () ABI. האספה לא החזירה את הטיעון המקורי. לא לתקן בעיות ידועות אבל סוגר חור כאשר GCC לפעמים מחליט להתקשר memcpy בעת יצירת קוד.
- רבים מתחייבים לנקות -O2 אזהרות ושגיאות. הקרנל הוא כעת הידור -O2 כברירת מחדל.
- הוסף פתרון לעקיפת תשואה לא נכונה בנתיב ACPI (aka קוד ACII).
- תקן מרוץ STOP / CONT שעלול להיות מופעל על ידי אות בהמתנה בזמן הלא נכון.
- תיקוני coredump מתוברגים ולתקן נעילה הקשורה לאותו נושא כאשר מספר חוטים של אותו תהליך תקלה באותו זמן.
- תיקון תקלה ב- CAM / VM שעלולה להתרחש עקב באג ב- uiomove_nofault (). זה עלול לגרום 'חיץ לחכות אינסופי' במהלך החלפה / החלפה כבד.
- הוסף קוד כדי לאתר ולטפל במכשירי IPI שאבדו. זה בעיקר עבור vkernels שבו כמה המארחים וירטואלי יכול לאבד IPIs. מעבדים אמיתיים אינם אמורים לאבד את רכיבי ה- IPI.
- תיקונים שונים ל- clock_gettime ().
- הסר שרידים נוספים של MPLOCK. כל הנתיבים הקריטיים כבר מזמן נפרדו מנעול זה, אך עדיין נותרו מספר מקומות לא קריטיים המשתמשים בו.
- עיבוד מחדש של תהליך הזיכרון הנמוך הורג קוד ותיקן מספר מירוצים שימנעו מהתכונה לפעול.
- תקן נעילת מערכת באמצעות VMM ופעל מחדש את קוד VMX.
- תקן קיפאון כאשר numvnodes מגיע maxvnodes, אשר יכול להתרחש תחת עומסים כבדים. גם לתקן דליפת זיכרון ליבה קטין כאשר 'df' או סינכרון קבצים מרוץ aumount. גם להפחית את החישוב maxvnodes בצניעות. לדוגמה, מכונה עם 8GB של RAM עכשיו להגדיר maxvnodes ל 478483 במקום 598103.
- תיקון פאניקה נדירה שניתן להפעיל על ידי vm_object_page_remove () כאשר user_yield () נקרא בצורה לא נכונה בעת החזקת spinlock, ולאחר מכן מחליט לדחות.
- הקטן את הגודל של כמה מבני הקרנל שהוקצו באופן דינמי. בפרט, הקצאה מוגזמת בגודל הקצאת טבלאות שולחן עכשיו הם קטנים יותר. בעיקר משפיע על UFS (אשר DragonFlyBSD אינו משתמש הרבה).
- הוסף פתרון עוקף עבור AMD erratum 793.
- תקן קיפאון שעלול להתרחש באשכול מוערמות * * () שיחות I / O.
- תיקון באג שבו טעינה של מודול רקורסיבי עלולה להיסגר.
- תיקון שגיאות מטופשות בקוד ה- NFS sillyrename (צד השרת NFS) אשר עלול לגרום לקוד ה- sillyrename של שרת NFS לא להסיר את הקובץ ששמו השתנה. כמה טיפשי!
- בצע עבודה טובה יותר עם תצורות high-ncpu + Low-memory.
- spinlocks משותפים של Refactor כדי להפחית את כמות הטווייה שיכולה להתרחש כאשר מעבדים מרובים מרוכזים ספיניוק משותף באותו זמן.
- שיפוץ פעולות namecache כדי להפחית עוד יותר את המחלוקת של SMP. דבר זה משפר ביצועים סימולטניים לא-סותרים של רכיבים חד-רכיביים לפחות 25x במערכות עם ליבות רבות, ומפחית באופן משמעותי את ה - vnode והרכבה של מבנה הרמקולים והפעולות ללא הגבלה.
- שיפוץ מבני גרעין רבים נוספים כדי לשפר את יישומי המטמון ולהפחית את הקפיצה של שורת המטמון.
- תיקון באג בקוד שינוי שם הקובץ של SMBFS.
- ליישם RLIMIT_RSS, מגבלת RSS לכל תהליך אשר יכפה החלפה מקומית על בסיס לכל תהליך. ניתן להשתמש בתכונה זו כדי למנוע תהליך אחד מלהפוך את שאר המכשיר למקרה קשה.
- הגדל את שטח החלפה המקסימלי הנתמך. המקסימום הוא עכשיו מוגבל בעיקר על ידי איל יהיה בעשרות טרה (אם יש לך מספיק RAM עבור מבנים ניהול תמיכה). גם להגדיל את KVM ליבה של 128G ל 511G.
- בצע מחיקה דינמית של pmap (מושבת כברירת מחדל). זה מכוון את הקוד pmap למחוק דפי ביניים עמוד עמודים PDs מ pmap על לטוס. זה יכול להיות שימושי אם הזיכרון הוא בפרמיה, אבל שים לב שאם מאופשר, זה יהיה איטי ביצוע של תוכניות אשר להקצות ו deallocate זיכרון בקצב גבוה.
- משפר את יעילותם של רמות "נחמד" של המשתמשים, מה שהופך את הערכים הנבחרים שנבחרו ליותר משמעותיים משהיו בעבר.
- הוסף מנהל התקן NVME בעל ביצועים גבוהים ל- DragonFly, שנכתב על ידי מאט דילון. מנהל התקן זה ישתמש בקטעי MSI-X ובכל התורים הזמינים הנתמכים על-ידי המכשיר, לוקליזציה לכל מעבד ללא נעילה או נעילה מינימלית (ללא התנגשויות SMP ברוב המקרים), והוא מסוגל לשדר IOPS ותפוקה.
- גרפיקה:
- מייצב את Broadwell ו- Skylake, העלה אותנו אל ה- DRM המקביל ל- Linux 4.6.
- ליישם את ממשק ה- API של i2c לינוקס כדי להקל על ההחלפה.
- תקן כמה באגים ישנים, כולל היפוך סדר נעילה, אשר עלול להשהות את הפעלת הווידאו (ואת שאר X).
- תיקון שגיאת עדיפות של הליבה ב- drn של הליבה שאיפשרה לתהליכי משתמש להיות בעלי עדיפות גבוהה יותר מאשר הליך המשנה של drm. פעולה זו קובעת את רוב דוכני הווידאו הזמניים המדווחים בדפדפנים.
- ידית את מסגרת ה- EFI של ה- EFI שעברה ל- DRM, שפר את הסיסמאות של החלפת ה- VT ותקן קיפאון קשור. כמו כן יש את הקרנל מנסה לעבור בחזרה VT קונסולת מ X כאשר פאניקה מתרחשת.
- עבודה ברשת:
- שיפורים רבים בכל הלוח.
- iwm - מתקן בעיה הנגרמת על-ידי לוגיקה הפוכה. שיפורים רבים אחרים אשר משפרים באופן משמעותי את הביצועים.
- wlan - תמיכה בסריקה של bg אסינכרוני ותכונות נוספות נוספו.
- מנהלי התקן אחרים:
- nvme - נוסף לבניית ברירת המחדל של הליבה, בתוספת תיקונים ושיפורים בביצועים.
- mmcsd - תמיכה משמעותית ב- eMMC נוספה ל- DragonFly.
- ahci - כמה התאמות תאימות ועוד quirks נוספו לתמוך שבבים שבורים, מכפילי יציאות בפרט. גם ליישם FBS (מבוסס FIS- מיתוג) כאשר נתמך על ידי ערכת שבבים.
- נוספו תמיכת Trackpoint ו- Elantech.
- UserLand:
- systat משופרת כדי לכווץ מספר קטעים משייכים לאותו מנהל התקן, שכן לעתים קרובות יותר מדי לרשימה כעת.
- systat -vm 1 משופר ומשופר בצורה משמעותית כדי לדווח על מידע שימושי יותר ולפרוק שדות כך שלא ייתקלו זה בזה. הוסף 'nvme' כדי להתאים את המכשיר בלוק. גם להתאים את התצוגה vmstats המורחבת ולשנות כיצד ozfod ו nzfod הוא דיווח.
- 'vmstat 1' מוצפן מחדש. כל השדות התנגשו זה בזה בגלל הביצועים הגבוהים של פסוקי מכונה מודרניים מה שהיה לפני 30 שנה.
- לשנות את הר / mountd איתות כדי להפחית מיותר mountlist סריקות ופקודות מ mount_null ו mount_tmpfs פעולות. רק חשוב באמת תחת שימוש בו זמנית כבד של הר / umount, אבל לבנות בתפזורת למעשה יוצר את המצב.
- לתקן מזלג / exec * () דליפות כי libc יכול להפעיל בשל לא באמצעות O_CLOEXEC באופן אטומי. הוסף תכונות O_CLOEXEC שונים לפונקציות כמו popen () ו- mk * stp * () (הוסף mkostemp () ו- mkostemps ()). תקן מתאר קובץ דליפה ב popen () כאשר פועל בסביבה משורשר.
- להיות נחמד יותר pthreads ב vfork () על ידי מתן לולאה תהליך המשנה החדש של אותו TID כמו זה שנקרא vfork (). זה מאפשר פונקציות תמיכה pthread לבצע את הילד במהלך vfork מבלי לפוצץ pthreads.
- הרבה תיקוני תאימות לכותרות כדי לשפר את ההיבטים בתפוצה רחבה של dports.
- מספר יבוא OpenSSL לתיקוני אבטחה.
- Resync OpenSSH כדי שיהיה קל יותר לשמור אותו uptodate.
- הפרד את דגמי הקרנל C על-ידי שימוש בקרנל KLFLAGS במקום ב- CFLAGS.
- הסר מספר רב של נהגים ישנים של ISA מהעץ לחלוטין. מכיוון ש- DragonFlyBSD הוא כעת 64 סיביות בלבד, אנו יכולים להתחיל להסיר מנהלי התקנים ישנים שאינם קיימים בפלטפורמות של 64 סיביות.
- הצג את WORLD_CFLAGS ואת WORLD_CCOPTLEVEL, כברירת מחדל ל- O. כך קל יותר לקמפל את העולם שלך - או 2 (למשל, WORLD_CCOPTLEVEL = 2). עם זאת, אנו מעודדים שימוש 3 ומעלה. ערכים חוקיים הם 0, 1, 2, 3, s, g ו- 'fast'.
- התאם את עיצוב הסטטוס עבור ps כדי להפוך אותו לקריא יותר ולהסיר דגלים עתיקים שאינם ישימים עוד ורק ליצור העומס.
- תקן יישור malloc () עבור הקצאות קטנות. היישור המינימלי הוא כעת 16 עבור הקצאות בטווח 16-128 בתים במקום 8. שים לב כי הקצאת כוח של 2 תמיד היו מיושרים באופן טבעי, אבל כמה תוכניות להשתמש בכפולות של (למשל) 16, כמו '48', ו הנח יישור של 16 בתים.
- גרסאות משופרות, נוספו.
- powerd - הוסף ניהול מבוסס טמפרטורה כדי powerd עם חדש -H lotemp: אפשרות hightemp. תכונה זו שימושית מאוד על מחשבים ניידים עם קירור ירוד whos BIOSes בכוונה מצערת בטמפרטורה גבוהה מדי. Powerd עכשיו גם מזהה שינויים במצב החשמל (אשר יכולים לשנות את רשימת התדרים הזמינים) ומעביר כראוי את השירות כאשר מתרחש שינוי במצב הספק.
- הרבה תיקונים והתאמות libthread_xu / pthreads לשיפור הביצועים של dports.
- הוסף תכונות של העתקה בזמן כתיבה ל- vkernel. לדוגמה, מאפשר vkernels מרובים להשתמש בתמונת דיסק אחת על ידי בעל כל אחד השינויים פרה פנימי ל- RAM.
- / usr / src / secure rewired, התנגשויות שהוסרו מ- libmd, libcrypt.
- כלים שונים שודרגו במערכת הבסיס:
- המהדר עודכן ל- GCC 5.4.1.
- יש לנו כעת מקשר זהב עם LTO.
- binutils 2.25
- פחות 481.
- OpenSSL / LibRESSL שופץ לחלוטין. הבסיס משתמש כעת ב- libressl.
- עדכוני זמן מרובים.
- סטטוס האמר:
- שיפורים אחרים. דבר אחד זה לא עשה את זה לתוך שחרור היה גרסה bump להשתמש באלגוריתם CRC מהירה יותר עם פולינום שונה. עבודה זו תהיה MFC'd כדי - יש לבדוק לאחר בדיקות הושלמה. עם זאת, משתמשים לא צריכים לדאוג יותר מדי כי IS לתקן את הביצועים הרציניים ביותר במהדורה (תיקון לקוד cluster_write () עבור כותב קבצים).
- מצב Hammer2:
- ההתפתחות ממשיכה, אך עדיין אין מילה בהודעה ראשונה.
- סטטוס Clang:
- נוספה מסגרת התחלה לשימוש ב- Clang בתור המהדר הבסיסי החלופי ב- DragonFly, כדי להחליף את GCC 4.7. זה עדיין לא שלם. קלאנג יכול כמובן להוסיף כחבילה.
- סטטוס 64 סיביות:
- שים לב ש- DragonFly היא מערכת הפעלה של 64 סיביות בלבד מ -4.6, ולא תפעל בחומרה של 32 סיביות.
- תמיכה AMD Ryzen הוא שחרור ועבודה נוספת יובא כמו ההתפתחויות Ryzen חדש להתרחש. יש כמה בעיות טופולוגיה דיווחו CPU, כי יהיה קבוע MFC'd. ישנן כמה בעיות יציבות כרגע מחכה על עדכון AMD microcode כדי לפתור / לבחון מחדש. משתמשים Ryzen יכול להיות סמוך ובטוח כי אנו נשארים על גבי זה!
מה חדש בגירסה 4.6.0:
- mmcsd (4): תקן שגיאת הקלדה ב- disk_create () args. מאפשר גישה אל כרטיס SD-MMC-1 של כרטיס SD.
- הוסף דחיסה (1). אם אתה לא יכול לנצח אותם, להצטרף אליהם
- שחזור היכולת של עולם האב לבנות גרסה 4.4
- buildworld - אפשר - נא לרצות על בסיס
- etc / rc.d - התאמות ללא דיסק
- kernel - הוספת תמיכה kqueue ל- NFS (תיקון בעיות ב- Firefox w / nfs)
- ייבא את OpenSSL 1.0.1.
- התאמות מקומיות עבור OpenSSL 1.0.1.
- סנכרן את אזור הנתונים עם tzdata2016b מ- ftp://ftp.iana.org/tz/releases
- zic (8) / zdump (8): אל תזהיר מקיצורים כגון '-05'.
- zic (8): הסר 'הירשם' שהתגנב במהלך ההתחייבות האחרונה.
- kernel / acpi_timer: הוסף cpu_enable_intr חסר () לאחר בדיקת הטיימר.
- em.4: ציין תמיכה ב- i219.
- ig_hal / em / emx: הוסף I219 (Skylake) תמיכה
- sys / vfs / hammer: תקן באג על מחיקת כותרת עוצמת הקול
- sbin / פטיש: אל תיגש מעבר למאגר של 16KB של HAMMER
- sbin / פטיש: הוסף אפשרות לערפל את הפטיש להראות
- sys / vfs / hammer: תיקון זמני עבור פאניקה של ליבה ב- volume-del
מה חדש בגירסה 4.4.3 / 4.6.0 RC2:
- mmcsd (4): תקן שגיאת הקלדה ב- disk_create () args. מאפשר גישה אל כרטיס SD-MMC-1 של כרטיס SD.
- הוסף דחיסה (1). אם אתה לא יכול לנצח אותם, להצטרף אליהם
- שחזור היכולת של עולם האב לבנות גרסה 4.4
- buildworld - אפשר - נא לרצות על בסיס
- etc / rc.d - התאמות ללא דיסק
- kernel - הוספת תמיכה kqueue ל- NFS (תיקון בעיות ב- Firefox w / nfs)
- ייבא את OpenSSL 1.0.1.
- התאמות מקומיות עבור OpenSSL 1.0.1.
- סנכרן את אזור הנתונים עם tzdata2016b מ- ftp://ftp.iana.org/tz/releases
- zic (8) / zdump (8): אל תזהיר מקיצורים כגון '-05'.
- zic (8): הסר 'הירשם' שהתגנב במהלך ההתחייבות האחרונה.
- kernel / acpi_timer: הוסף cpu_enable_intr חסר () לאחר בדיקת הטיימר.
- em.4: ציין תמיכה ב- i219.
- ig_hal / em / emx: הוסף I219 (Skylake) תמיכה
- sys / vfs / hammer: תקן באג על מחיקת כותרת עוצמת הקול
- sbin / פטיש: אל תיגש מעבר למאגר של 16KB של HAMMER
- sbin / פטיש: הוסף אפשרות לערפל את הפטיש להראות
- sys / vfs / hammer: תיקון זמני עבור פאניקה של ליבה ב- volume-del
מה חדש בגרסה 4.4.3:
- mmcsd (4): תקן שגיאת הקלדה ב- disk_create () args. מאפשר גישה אל כרטיס SD-MMC-1 של כרטיס SD.
- הוסף דחיסה (1). אם אתה לא יכול לנצח אותם, להצטרף אליהם
- שחזור היכולת של עולם האב לבנות גרסה 4.4
- buildworld - אפשר - נא לרצות על בסיס
- etc / rc.d - התאמות ללא דיסק
- kernel - הוספת תמיכה kqueue ל- NFS (תיקון בעיות ב- Firefox w / nfs)
- ייבא את OpenSSL 1.0.1.
- התאמות מקומיות עבור OpenSSL 1.0.1.
- סנכרן את אזור הנתונים עם tzdata2016b מ- ftp://ftp.iana.org/tz/releases
- zic (8) / zdump (8): אל תזהיר מקיצורים כגון '-05'.
- zic (8): הסר 'הירשם' שהתגנב במהלך ההתחייבות האחרונה.
- kernel / acpi_timer: הוסף cpu_enable_intr חסר () לאחר בדיקת הטיימר.
- em.4: ציין תמיכה ב- i219.
- ig_hal / em / emx: הוסף I219 (Skylake) תמיכה
- sys / vfs / hammer: תקן באג על מחיקת כותרת עוצמת הקול
- sbin / פטיש: אל תיגש מעבר למאגר של 16KB של HAMMER
- sbin / פטיש: הוסף אפשרות לערפל את הפטיש להראות
- sys / vfs / hammer: תיקון זמני עבור פאניקה של ליבה ב- volume-del
מה חדש בגירסה 4.4.2:
- virtio_blk: השתמש ב- contigmalloc / contigfree עבור הקצאות vtblk_request.
- drm / radeon: אנחנו צריכים את הכתובת הפיזית של דף הדמה, לא את הווירטואלי
- if_iwm: החל מספר שינויים מ- OpenBSD, if_iwm.c rev 1.39 - & gt; 1.42
- if_iwm: פשוט אחסן את מצביע הקושחה של struct, כמו if_iwn.
- if_iwm: הסר הערות המתייחסות לשמות המקור של לינוקס iwlwifi.
- if_iwm: תקן את השימוש ב- IEEE80211_ADDR_COPY ().
- if_iwm: תקן את קוד הגדרת בקרת התעריף.
- etc / rc.d: עדכון rtsold
- i915 - הוסף עיכוב לאחר צירוף כדי למנוע קונסולת / X גזעים
- kernel - הקטן את זמן ההשהיה של lwp_signotify ()
- devfs - תקן פאניקה על תוספת devfs mounts כאשר הכללים נמצאים
- ssh - הסרת תמיכת נדידה לא מתועדת CVE-2016-0777 CVE-2016-0778
- kernel - הוסף quirks עבור xhci (USB)
- פטיש - הסר את kprintf לאיתור באגים
- libc / stdtime: תקן שני מקרים שבהם מצביע NULL יכול היה להיות חופשי () 'd
- kernel / vga: הסר lwkt_reltoken שגוי (). זה לא נלקח בשלב זה.
- libc / nls: הודעות Sync str {error, signal} () עם
- w (1): inet_addr () מחזיר את INADDR_NONE לכשל.
- ee (1): תקן משתנה לא מאותחל.
- kernel: תקן את sysctl kern.dumpdev.
- ייבא את OpenSSL 1.0.1r.
- התאמות מקומיות עבור OpenSSL 1.0.1r.
- gcc50 / libconv_supc: cp-demangle.c צריך HAVE_CONFIG_H.
- סנכרן את אזור הנתונים עם tzdata2016a מ- ftp://ftp.iana.org/tz/releases
- בצע שדרוג: הוסף אזור זמן מיושן.
- igb: תקן הגדרות DMACR
- ifconfig: תיקון מחיקת כתובת inet6
מה חדש בגרסה 4.4.1:
- ליבה:
- הגדרות משופרת של צריכת חשמל ב- CPU
- הקצאת קובץ מופחתת / מחלוקת חופשית
- הפחת את מחלוקת kqueue
- מיושם lwp_setname (2) שיחת מערכת
- קבוע dsp (4) nonblocking תמיכה בפעולה
- הוסף מנהל התקן aperf (4) כדי להציג תדר CPU יעיל
- ניקיון ותיקונים רבים ל- HAMMER
- סנכרן את ACPICA עד 20151124
- הסתיים בדרך כלל הסרת פיסות i386 (32 סיביות)
- התאם ערימת טוען את המטען כדי לטפל בתמונות MD גדולות יותר
- ניקוי עובר על קוד הקרנל המת (syslink נשאר, וכו ')
- dsched הוסר (בעיות עם באגים ואינו פועל היטב עם SSD)
- צור מחדש אלגוריתמים לאיתור זיכרונות נמוכים בזיכרון בזיכרון נמוך ו / או בזיכרון
- גרפיקה:
- drm / i915 ודרם / radeon נהגים עכשיו תואם לינוקס לינוקס 3.18
- i915 תומך ValleyView / Baytrail ו Cherryview Atom SOCs
- יחידות GPU של Broadwell מואצות כעת במלואן
- עבודה הכנה לתמיכה של Skylake
- מסוף המערכת תומך כעת בגרפיקה גרפית כברירת מחדל; מסופים וירטואליים לא רק להראות מסך שחור יותר לאחר Xorg כבר התחיל ואחד הליבה KMS מודולים נטענים.
- ניהול צריכת חשמל משופר. פאנל ריענון עצמי זמין בחומרה i915
- חיישני טמפרטורה הנתמכים כעת בחומרה של Radeon
- עבודה ברשת:
- Realtek 8168H תמיכה re (4)
- iwm (4) נוסף
- rtadvd עודכן, rtadvctl נוסף
- חיבורי UDP אסינכרונים, לטיפול בעומס הרבה יותר גדול
- חלון חדש גדול יותר של TCP, עבור חיבורים בהשהיה גבוהה
- ערכי nernbcluster של Kernel ניתנים להתאמה חיה, לתנועה קיצונית עבודה ברשת:
- ייצוב שקע תחום UNIX
- קוד GC חדש עבור העברת fd על פני שקעי תחום של יוניקס
- אחר סינכרון IPv6 עם FreeBSD
- ביצועים משופרים (2) עבור TCP ו- UDP
- בחירה משופרת של TCP connect (2) מקומי
- נוסף התקבל (4) שיחת מערכת
- תמיכה נוספת עבור שקע SOCK_CLOEXEC ו- SOCK_NONBLOCK (2) וקבלה של 4 (2) דגלים
- הפוך תכונות בקרת זרימה של HW לזמינות ל- ifconfig
- הוסף טבלאות כדי לאפשר להגדיר את NFSROOT iosize ואת readahead
- תביא ipfw מורחבת מ FreeBSD (נקרא ipfw3 ב DFly)
- מנהלי התקן אחרים:
- תמיכה ב- MIDI נקראה
- תיקוני באגים רבים עבור Mapper המכשיר
- dm-delay ו- dm-flakey נוספו למפה ההתקן
- מודם ה- USB פועל טוב יותר (או לפחות אל תבהב את הקרנל)
- גישה משופרת לתכונות ול- ECC של זיכרון RAM
- wlan עודכן מ- FreeBSD (עד לפני הסרת המכשיר המפוצל)
- UserLand:
- ספריית regex הוחלפה בספריית regex TRE מרובת-בתים ובדרך כלל הרבה יותר מסוגלת. זה תואם OSX ב תכונות. (DF הוא BSD הראשון לעבור TRE לאחר MacOS)
- libm הוחלף בגרסת OpenBSD (זוהי עבודה משותפת בתהליך)
- libc מציג כעת גרסאות סמל אשר מאפשרות לבצע קבצים בינאריים שנוצרו במהדורה 4.4 כדי לבצע ב- DragonFly במשך שנים רבות בעתיד.
- שיפוץ ועדכון מלא של אתרים, כולל ביצוע איסוף.
- malloc.h הוסר (DragonFly הוא ה- BSD הראשון להסרת כותרת זו)
- gcc50 libstdc ++ שונה כדי לאפשר שימוש מלא בפונקציות C99 ב- clang
- כתוצאה מעדכון מיקומים, הפלט של ls (1) פורמט ארוך ו- T פורמט השתנה כאשר שמות המקום נמצאים בשימוש. יש לציין, שתבנית הפורמט הארוכה תמיד מקוצרת באנגלית (תוך שימוש בהגדרות POSIX ובכך מובטחות הן במהירות והן בשלושה אותיות), והשנה, השעה והשני מוצגים תמיד. תחת האזור C / POSIX לא חל שינוי בפלט Ls (1) למעט טיפול חותמת זמן עתידי כדי שיתאים לדרישות התקן של POSIX.
- אם נעשה שימוש בבקשת WPA מבסיס, יהיה עיכוב של 10 שניות במהלך האתחול כאשר מוצגת הודעה הממליצה בחום על שימוש בגירסת DPorts (אבטחה / wpa_supplicant).
- Powerd משופר (8)
- פלט משופר (1) ו- ps (1) עבור LWPs וחוטי הליבה
- תוקן את התמיכה עבור pthread_set_name_np (3)
- tcpdrop ממותג (8)
- הוספת מקומות חדשים רבים, כולל שש קהילות ערביות (איחוד האמירויות הערביות, ערב הסעודית, מצרים, ירדן, מרוקו, קטאר), אתרים נוספים בספרד (מקסיקו, ארגנטינה, קוסטה ריקה), אזורי אנגלית נוספים (Phillipines, Singapore, Hong Kong) , תיקונים נורבגיים מתוקנים (nb ו- nn בלבד), שוודית מורחבת (פינלנד), סאמי (פינלנד, נורבגיה), סרבית שהוצגה בשתי צורות קיריליות ולטיניות כעת. ('locale -a' מספק רשימה מלאה.)
- rtadvc מיובא מ- FreeBSD
- כלים שונים שודרגו במערכת הבסיס:
- nvi2 מעודכן לגרסה 2.1.3
- libexecinfo נוסף (מסונכרן מ- FreeBSD)
- iconv מסונכרן עם FreeBSD
- openssl מעודכן ל 1.0.1q
- xz עודכן ל 5.2.2
- libedit עודכן לגירסה 2015-03-25
- binutils עודכן ל- 2.25.1
- grep עודכן ל- 2.22
- tcsh עודכן ל -6.19.00
- libdialog עודכן ל- v1.2-20150920
- (tn) ftp עודכן ל- '10 OCT 2015 '
- gcc עודכן ל 5.2
- acpica Update to 20150717
- מיון (1), שהגיע מ- NetBSD, הוחלף בגרסת FreeBSD
- localedef (1), כלי פנימי עם מקורות על Illumos
- cldr2def, כלי פנימי עם מקורות בפרוייקט FreeBSD נטוש, אך הוארך עבור DF
- הוסרה ממערכת הבסיס:
- hostapd (הגרסה העדכנית ביותר זמינה באמצעות dports: net / hostapd)
- mklocale (מוחלף ע"י localedef)
- colldef (מוחלף ע"י localedef)
- שיפורים של HAMMER:
- רבים, רבים ניקיון ותיקונים Hammer1, הודות Tomohiro Kusumi
- שיפורים נוספים:
- DPorts סומכים סביב 22,800 יציאות. רבים בעבר שבור יציאות תוקנו על ידי משתמשים רגילים עקב תרומות המוצעות באמצעות GitHub של משוך בקשה מנגנון. (תודה!)
- שש קבוצות "הרשמי" של טפט DragonFly זמין ב x11-theme / טפט שפירית (pkg להתקין שפירית רקעים). אלה מותקנים באופן אוטומטי ו שנבחרו מראש עבור משתמשי KDE, ומותקן אוטומטית עבור משתמשים XFCE4 אבל רקעים עדיין יש לבחור ידנית עם שולחן העבודה (לפחות לעת עתה). הם מקבלים מותקן על המניות / טפטים אשר symlinked לשתף / רקע / שפירית.
תגובות לא נמצא