From e2e7ebf256f14eebd6bc06361371b6a5b253cc1c Mon Sep 17 00:00:00 2001 From: ridethepig Date: Fri, 14 Apr 2023 19:41:13 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=82=E3=80=82=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/ostep_1681115599584_0.edn | 118 +++++++++++++++++- ...n => 2023-04-14T03_58_23.691Z.Desktop.edn} | 2 +- pages/hls__ostep_1681115599584_0.md | 43 ++++++- 3 files changed, 159 insertions(+), 4 deletions(-) rename logseq/bak/logseq/config/{2023-04-13T09_39_57.171Z.Desktop.edn => 2023-04-14T03_58_23.691Z.Desktop.edn} (99%) diff --git a/assets/ostep_1681115599584_0.edn b/assets/ostep_1681115599584_0.edn index 8f237f6..b98c557 100644 --- a/assets/ostep_1681115599584_0.edn +++ b/assets/ostep_1681115599584_0.edn @@ -4175,5 +4175,119 @@ :height 1382.4}), :page 498}, :content {:text "tandem"}, - :properties {:color "green"}}], - :extra {:page 498}} + :properties {:color "green"}} + {:id #uuid "6438d8bf-19fd-4a4a-b491-3887c425aebf", + :page 498, + :position {:bounding {:x1 108.35715103149414, + :y1 931.4822082519531, + :x2 298.5384407043457, + :y2 952.0536193847656, + :width 806.3999999999999, + :height 1209.6}, + :rects ({:x1 108.35715103149414, + :y1 931.4822082519531, + :x2 298.5384407043457, + :y2 952.0536193847656, + :width 806.3999999999999, + :height 1209.6}), + :page 498}, + :content {:text "Files And Directories"}, + :properties {:color "yellow"}} + {:id #uuid "6438dd4b-55ba-4649-90fd-7de69ed9c2ba", + :page 500, + :position {:bounding {:x1 108.35714721679688, + :y1 860.8839721679688, + :x2 232.83402252197266, + :y2 881.4554138183594, + :width 806.3999999999999, + :height 1209.6}, + :rects ({:x1 108.35714721679688, + :y1 860.8839721679688, + :x2 232.83402252197266, + :y2 881.4554138183594, + :width 806.3999999999999, + :height 1209.6}), + :page 500}, + :content {:text "Creating Files"}, + :properties {:color "yellow"}} + {:id #uuid "6438dd78-68fe-47c6-8ca6-b2de3206f4f1", + :page 501, + :position {:bounding {:x1 567.5357360839844, + :y1 572.9910888671875, + :x2 675.8062438964844, + :y2 595.2767944335938, + :width 806.3999999999999, + :height 1209.6}, + :rects ({:x1 570.982177734375, + :y1 572.9910888671875, + :x2 675.8062438964844, + :y2 595.2767944335938, + :width 806.3999999999999, + :height 1209.6} + {:x1 567.5357360839844, + :y1 574.732177734375, + :x2 575.9107360839844, + :y2 591.3035888671875, + :width 806.3999999999999, + :height 1209.6}), + :page 501}, + :content {:text " file descriptor"}, + :properties {:color "yellow"}} + {:id #uuid "6438e073-2636-4ec8-807d-3ecf83a5c0c0", + :page 502, + :position {:bounding {:x1 108.35714721679688, + :y1 414.08931732177734, + :x2 349.001220703125, + :y2 434.66075134277344, + :width 806.3999999999999, + :height 1209.6}, + :rects ({:x1 108.35714721679688, + :y1 414.08931732177734, + :x2 349.001220703125, + :y2 434.66075134277344, + :width 806.3999999999999, + :height 1209.6}), + :page 502}, + :content {:text "Reading And Writing Files"}, + :properties {:color "yellow"}} + {:id #uuid "6438e88b-e3e6-44a4-9f79-411c1f27ae71", + :page 506, + :position {:bounding {:x1 108.35714912414551, + :y1 894.669677734375, + :x2 326.5652027130127, + :y2 915.2411193847656, + :width 806.3999999999999, + :height 1209.6}, + :rects ({:x1 108.35714912414551, + :y1 894.669677734375, + :x2 326.5652027130127, + :y2 915.2411193847656, + :width 806.3999999999999, + :height 1209.6}), + :page 506}, + :content {:text "Shared File Table Entries"}, + :properties {:color "yellow"}} + {:id #uuid "6438e98b-b46f-4038-a984-eb172a628cc7", + :page 508, + :position {:bounding {:x1 163.42858123779297, + :y1 620.232177734375, + :x2 590.9100341796875, + :y2 642.5178833007812, + :width 806.3999999999999, + :height 1209.6}, + :rects ({:x1 254.1785888671875, + :y1 620.232177734375, + :x2 590.9100341796875, + :y2 642.5178833007812, + :width 806.3999999999999, + :height 1209.6} + {:x1 163.42858123779297, + :y1 621.9732360839844, + :x2 253.81851196289062, + :y2 638.544677734375, + :width 806.3999999999999, + :height 1209.6}), + :page 508}, + :content {:text "Figure 39.3: Processes Sharing An Open File Table Entry"}, + :properties {:color "yellow"}}], + :extra {:page 507}} diff --git a/logseq/bak/logseq/config/2023-04-13T09_39_57.171Z.Desktop.edn b/logseq/bak/logseq/config/2023-04-14T03_58_23.691Z.Desktop.edn similarity index 99% rename from logseq/bak/logseq/config/2023-04-13T09_39_57.171Z.Desktop.edn rename to logseq/bak/logseq/config/2023-04-14T03_58_23.691Z.Desktop.edn index dec5a7c..f69d742 100644 --- a/logseq/bak/logseq/config/2023-04-13T09_39_57.171Z.Desktop.edn +++ b/logseq/bak/logseq/config/2023-04-14T03_58_23.691Z.Desktop.edn @@ -342,7 +342,7 @@ ;; ;use triple underscore `___` for slash `/` in page title ;; ;use Percent-encoding for other invalid characters :file/name-format :triple-lowbar - :ui/show-brackets? false + :ui/show-brackets? true ;; specify the format of the filename for journal files ;; :journal/file-name-format "yyyy_MM_dd" diff --git a/pages/hls__ostep_1681115599584_0.md b/pages/hls__ostep_1681115599584_0.md index bef5094..184ae20 100644 --- a/pages/hls__ostep_1681115599584_0.md +++ b/pages/hls__ostep_1681115599584_0.md @@ -1164,4 +1164,45 @@ file-path:: ../assets/ostep_1681115599584_0.pdf hl-page:: 498 ls-type:: annotation id:: 64382ab8-ad41-4c20-be74-3ce7446f20d6 - hl-color:: green \ No newline at end of file + hl-color:: green +- Files And Directories + ls-type:: annotation + hl-page:: 498 + hl-color:: yellow + id:: 6438d8bf-19fd-4a4a-b491-3887c425aebf + - File Directory + - File: a linear array of bytes, each of which can be read or written + - Directory: a list of *(user-readable name, low-level name)* pairs + - directory tree, root directory, separator, sub-directories, absolute pathname + - inode number: low-level name of a file or directory + - Creating Files: system call `open` with `O_CREAT` flag + hl-page:: 500 + ls-type:: annotation + id:: 6438dd4b-55ba-4649-90fd-7de69ed9c2ba + hl-color:: yellow + - file descriptor: an integer, ==private per process==, used to access files + hl-page:: 501 + ls-type:: annotation + id:: 6438dd78-68fe-47c6-8ca6-b2de3206f4f1 + hl-color:: yellow + - can be seen as a handle for file operations, or a pointer to an object of type file + - Reading And Writing Files: system call `read` and `write` + hl-page:: 502 + ls-type:: annotation + id:: 6438e073-2636-4ec8-807d-3ecf83a5c0c0 + hl-color:: yellow + - Non-sequential access: system call `lseek(fd, offset, whence)` + - explicit and implicit update to file offset + - open file table: represent all currently opened files in the system + - Shared File Table Entries + ls-type:: annotation + hl-page:: 506 + hl-color:: yellow + id:: 6438e88b-e3e6-44a4-9f79-411c1f27ae71 + - On every `open` call, the OS creates a new entry in the *open file table* even for the same file (same inode). Thus, they have independent offsets. + - Through `fork` or `dup`, we can make 2 file descriptors point to the same entry. In this case, reference count is needed to track when to release the entry. + - Figure 39.3: Processes Sharing An Open File Table Entry + ls-type:: annotation + hl-page:: 508 + hl-color:: yellow + id:: 6438e98b-b46f-4038-a984-eb172a628cc7 \ No newline at end of file