I Cấu trúc hệ điều hành MacOS 1 Cấu trúc hệ thống MacOS là một hệ điều hành chạy trên mọi máy tính của nhà Apple, nó chứa một số lượng lớn các chương trình được thiết kế rất là tốt Cấu trúc Mac OS X đ[.]
I Cấu trúc hệ điều hành MacOS Cấu trúc hệ thống MacOS hệ điều hành chạy máy tính nhà Apple, chứa số lượng lớn chương trình thiết kế tốt Cấu trúc Mac OS X cấu tạo nhiều lớp khác nhau, lớp hệ thống Darwincore Unix Lớp hệ thống đồ họa bao gồm: Quartz, Open-GL Quick-Time Còn lớp ứng dụng, chúng tạo thành bốn thành phần la: classic, carbon, cocoa java Cuối lớp giao diện người dùng nằm là lớp Aqua 1.1 Core OS Core Darwin phát triển dựa phiên BSD (Berkeley Software Distribution) – phiên khác UNIX (Darwin hệ điều hành UNIX mã nguồn mở Apple mắt năm 2000) Trong Mach phần core Darwin đảm nhận nhiệm vụ thực hoạt động như: sử dụng nhớ, đường truyền liệu, Darwin nguồn mở, điều đồng nghĩa với việc lấy mã nguồn chỉnh sửa Các phiên khác Darwin sử dụng để nâng cao Mac OS X Một số tính bật Darwin bảo vệ nhớ, quản lý nhớ tự động, nhớ ảo nâng cao, ưu tiên đa nhiệm, Ngồi cung cấp dịch vụ input output cho Mac OS X có hỗ trợ plug-and-play, hotswapping quản lý lượng 1.2 Hệ thống đồ họa (Graphics Subsystem) Trong Mac OS X hệ thống đồ họa chứa ba phần là: Quartz, OpenGL QuickTime Mỗi phận đảm nhận chức nhiệm vụ khác Trong đó, Quartz đảm nhận nhiệm vụ quản lý đồ họa 2D hệ thống đồ họa, ngồi cịn cung cấp phơng chữ, kiểu chữ, hiển thị hình ảnh, đồ họa giao diện, OpenGL cung cấp, hỗ trợ đồ họa 3-D hệ thống ánh xạ kết cấu, độ suốt, khử cưa, hiệu ứng khí quyển, hiệu ứng đặc biệt, Ngồi ra, sử dụng hệ thống Unix Windows QuickTime sử dụng thường xuyên phương tiện kỹ thuật số khác video kỹ thuật số, truyền phát video, âm thanh, Nó cho phép sử dụng ứng dụng sáng tạo hệ thống iMovie, iTunes, 1.3 Hệ thống ứng dụng (Application Subsystem) Hệ thống ứng dụng Mac OS X cung cấp môi trường cổ điển (Classic Environment) để chạy ứng dụng cổ điển Ba mơi trường phát triển ứng dụng có sẵn kể đến là: Carbon, Cocoa Java Môi trường cổ điển đảm bảo ứng dụng viết cho phiên trước hệ điều hành chạy cách mượt mà trơn tru Môi trường Carbon sử dụng để chuyển ứng dụng có sang giao diện giao diện chương trình ứng dụng Carbon Quá trình gọi Cacbon hóa ứng dụng Cịn mơi trường Cacao, cung cấp mơi trường phát triển ứng dụng hướng đối tượng Các ứng dụng Cacao sử dụng lợi ích Cấu trúc Mac OS X nhiều Các ứng dụng Java Java applet chạy mơi trường Java 1.4 Giao diện người dùng (User Interface) Giao diện người dùng Mac OS X cịn gọi Aqua Nó cung cấp, hỗ trợ tính trực quan tốt cơng cụ có chức tùy chỉnh giao diện người dùng phù hợp theo yêu cầu, sở thích người dùng Aqua sử dụng nhiều màu sắc kết cấu khác nhau, biểu tượng chi tiết chân thực, vừa bắt mắt vừa thú vị vừa thiết thực mà hiệu để sử dụng Cách nhìn từ phía người dùng: + Tổ chức tệp Hệ thống tệp MacOS đặc tả bởi: - Cấu trúc cấp bậc (cây thư mục); - Cách xử lý quán liệu tệp (chuỗi byte byte stream ); - Khả tạo hủy tệp (tạo mới, xóa); - Tính tăng trưởng động tệp (thêm bớt, cắt dán); - Khả bảo vệ liệu tệp (bởi kiểu thuộc tính quyền truy nhập); - Xử lí thiết bị ngoại vi xử lí tệp (cách nhìn thiết bị mơ tả kiểu tệp) FS tổ chức một nút đơn gọi root, biểu diễn sau: “/ ”; từ có thư mục khác tạo thành nhánh cây, nhánh có nhánh (con) khác Dưới nhánh tệp Tệp tệp bình thường (regular files) tệp đặc biệt (special files) Tệp truy nhập qua đường dẫn (path name) mô tả cách thức định vị tệp FS Đường dẫn đầy đủ, hay đường dẫn tuyệt đối, bắt đầu dấu / xác định tìm tệp cách từ root qua cấu trúc thư mục theo nhánh thị đường dẫn Ví dụ ta có:/usr/src/cmd/date.c đường dẫn tuyệt đối tới tệp date.c Đường dẫn không root gọi đường dẫn tương đối, tới thư mục tệp Thư mục loại tệp, hệ thống xử lý liệu thư mục byte stream, liệu chứa tên tệp thư mục có khn dạng dự đốn được, cho OS chương trình Ví dụ l, nhận tệp thư mục Việc truy nhập tệp kiểm soát quyền truy nhập (access permission) kết hợp với tệp Quyền truy nhập lập cách độc lập để kiểm soát truy nhập đọc (read), ghi (write), thực (execute) choba lớp người sử dụng:người sở hữu tệp (u - user), nhóm người truy nhập (g - group), người khác (o - other) Người dùng tạo tệp họ phép tệp tạo nhánh cấu trúc thư mục hệ thống Đối với người dùng, MacOS xử lí thiết bị thể tệp Các thiết bị mô tả tệp thiết bị đặc biệt nằm nhánh cấu trúc hệ thống thư mục (/dev) Các chương trình truy nhập thiết bị cú pháp giống dùng để truy nhập tệp bình thường, thiết bị bảo vệ phương thức tệp, qua việc ấn định quyền truy nhập Bởi tên thiết bị giống tên tệp bình thường thao tác chúng nhau, nên hầu hết chương trình khơng biết tới kiểu tệp bên tệp mà chúng thao tác Môi trường xử lý : Một chương trình - program tệp thực thi tiến trình (tiến trình – process) khoảnh khắc (instance) chương trình thực theo trục thời gian + Tiến trình bao gồm: - Mã trình thực thi - Dữ liệu(data)của tiến trình - Program (user) stack - CPU program counter - Kernel stack - CPU registers - Thông tin khác cần thiết để chạy trình Các liệu tạo bối cảnh (context) tiến trình, tiến trình có bối cảnh riêng biệt Có nhiều tiến trình thực đồng thời MacOS (đặc tính cịn gọi đa trình - multiprogramming hay đa nhiệm multitasking) theo nguyên lí phân chia thời gian (time sharing), mà tổng số tiến trình logic khơng có giới hạn Có nhiều GHT cho phép tiến trình tạo tiến trình mới, kết thúc tiến trình, đồng giai đoạn thực tiến trình, kiểm soát phản ứng với kiện khác Các tiến trình sử dụng GHT độc lập với + Hãy xét ví dụ sau: main (argc, argv) int argc; char *argv[]; { /* giả định có đối đầu vào*/ if (fork () == 0) execl (“copy”, ”copy”, argv[1], argv[2], 0); wait((int *) 0); printf (“copy done\n”); } Chương trình dùng GHT fork() để tạo tiến trình tiến trình gọi tiến trình nhận giá trị trả lại từ lệnh fork kích hoạt excel để chạy trình copy Lệnh excel phủ lên không gian địa tiến trình mã trình “copy”, với giả định trình “copy” nằm thư mục hành main, chạy trình copy với thơng số người dùng đưa vào Nếu excel hoàn tất khơng trở địa xuất phát trongmain chạy miền địa khác Trong tiến trình bố kích hoạt fork() lại nhận giá trị trả lại khác từ GHT wait(), “treo” việc thực để đợi “copy” kết thúc in thông báo “copy done “ sau kết thúc thực main exit (exit() ngầm định kết thúc main C) Một cách tổng quát, GHT cho phép người dùng viết chương trình thực thao tác tinh tế mà thân kernel không cần có nhiều chức cần thiết Có thể đề cập tới số chức năng, chẳng hạn dịch (compilers), soạn thảo (editors) thuộc lớp chương trình cấp người dùng (user level) quan trọng hàng đầu shell, trình thơng dịch mà người dùng sử dụng sau login vào hệ thống:shell thơng dịch từ dịng lệnh thành tên lệnh máy, phát sinh tiến trình tiến trình thực lệnh đưa vào, xử lí từ cịn lại dịng lệnh thơng số lệnh Shell thực ba kiểu lệnh: • Lệnh tệp thực chứa mã máy phát sinh dịch tạo từ mã nguồn (chương trình C chẳng hạn); • Lệnh tệp chứa xâu dịng lệnh shell; • Là lệnh bên shell Các lệnh bên làm cho shell trở thành ngơn ngữ lập trình mạnh MacOS Shell chương trình thuộc lớp người dùng, khơng phải phần kernel, dễ dàng biến cải cho môi trường đặc thù Bản thân shell có ba loại khác thích hợp cho nhu cầu sử dụng khác hệ thống chạy shell đồng thời Sức mạnh kiểu shell thể khả lập trình kiểu Mỗi tiến trình thực MacOS có mơi trường (execution environment) thực hiện, bao gồm thư mục hành Thư mục hành tiến trình thư mục dùng để đường dẫn không bắt đầu “ /” Người dùng thực nhiều tiến trình lúc, tiến trình lại tạo tiến trình khác cách động, đồng việc thực tiến trình Đặc tính tạo mơi trường thực chương trình mạnh MacOS Các dịch vụ MacOS 4.1 App Store + Chương trình chủ yếu: Mac App Store Mac App Store tảng phân phối kỹ thuật số macOS dành cho ứng dụng hệ điều hành, tạo trì Apple Inc dựa phiên iOS, tảng công bố kiện "Back to the Mac" Apple vào năm 2010 mắt lần vào năm 2011 Tất người dùng Snow Leopard sử dụng miễn phí Mac App Store Apple bắt đầu chấp nhận ứng dụng gửi từ nhà phát triển đăng ký từ tháng 11 năm 2010 để chuẩn bị mắt Sau 24 phát hành, Apple thơng báo có triệu lượt tải xuống 4.2 Books + Chương trình chủ yếu: Apple Books Apple Books phát hành lần đầu OS X Mavericks 4.3 FaceTime + Chương trình chủ yếu: FaceTime FaceTime ứng dụng gọi video Apple phát hành nhằm thay iChat Mac 4.4 Find My + Chương trình chủ yếu: Find My Lần có sẵn macOS Catalina, theo dõi vị trí thiết bị tương thích kết nối qua iCloud 4.5 Podcasts + Chương trình chủ yếu: Apple Podcasts 4.6 Safari + Chương trình chủ yếu: Safari (web browser) Safari trình duyệt web mặc định có macOS kể từ phiên 10.3 "Panther", nơi thay Internet Explorer cho Mac OS X Nó sử dụng cơng cụ trình duyệt WebKit 4.7 Siri + Chương trình chủ yếu: Siri Được giới thiệu macOS 10.12, Siri trợ lý ảo, trợ lý kỹ thuật số cho phép người dùng tương tác với để đặt câu hỏi, đưa đề xuất thực tác vụ thiết bị Nó trước đưa vào iOS 4.8 iTunes + Chương trình chủ yếu: iTunes _ iTunes trình phát đa phương tiện, thư viện phương tiện, đài phát Internet, tiện ích quản lý thiết bị di động ứng dụng khách cho iTunes Store Nó sử dụng để mua, phát, tải xuống tổ chức đa phương tiện kỹ thuật số máy tính cá nhân chạy hệ điều hành macOS Windows iTunes phát triển Apple Inc Nó công bố vào ngày tháng năm 2001 _ Vì iTunes bị trích có trải nghiệm người dùng cồng kềnh, Apple định chia iTunes thành ứng dụng riêng biệt kể từ macOS Catalina: Apple Music, Apple Podcasts Apple TV Finder đảm nhận khía cạnh quản lý thiết bị mà iTunes phục vụ trước Thay đổi khơng ảnh hưởng đến Windows phiên macOS cũ 4.9 iCloud + iCloud dịch vụ nhà Apple phát triển cung cấp nhằm mục đích hỗ trợ người dùng lưu trữ ảnh, ghi chú, mật khẩu, tệp, file loại liệu khác cách an toàn bảo mật đám mây iCloud tự động cập nhật thiết bị khác người dùng Ngoài ra, dịch vụ giúp cho người dùng dễ dàng chia sẻ hình ảnh, tệp ghi chú, cho gia đình bạn bè Khơng vậy, người dùng sử dụng + iCloud để lưu iPhone, iPad iPod touch II Cấu trúc hệ điều hành IOS 2.1 Định nghĩa IOS: IOS viết tắt từ Internetwork Operating System, hệ điều hành hoạt động phần cứng router Cisco, điều khiển hoạt động định tuyến chuyển mạch router Rên hệ điều hành IOS gồm có phần: aaaabbbb-cccc đó: - aaaa: dịng sản phẩm áp dụng hệ điều hành - bbbb: tính IOS - cc: định dạng file IOS, nơi IOS chạy, kểu nén IOS Ví dụ:tên IOS: C3620-i-mz_113-8T1.bin 2.2 Tổng quan kiến trúc IOS Cisco: Khi mà lợi ích việc định tuyến qua mạng trở nên phát triển, đòi hỏi router phải hỗ trợ số giao thức cung cấp chức khác, cầu nối mạng Cisco thêm tính cho phần mềm router Kết có nhiều chức cầu nối định tuyến ngày Nhưng cấu trúc hệ điều hành giống ban đầu IOS thật cấu trúc đơn giản, cực nhỏ IOS thiết kế dựa vào ràng buộc nhớ, tốc độ, phần cứng router * Hình 3.1: mô tả kiến trúc IOS Cisco * Hình 3.1 kiến trúc IOS Cisco 2.2.1 Các tiến trình (processes) : Là tuyến riêng lẻ kết hợp với liệu để thực tác vụ, trì hệ thống, chuyển mạch gói liệu, thực giao thức định tuyến… 2.2.2 Nhân ( Kernel ) : Cung cấp dịch vụ hệ thống tùy thuộc vào IOS, như: quản lý nhớ, lập lịch tiến trình Nó cung cấp quản lý tài nguyên phần cứng (CPU, nhớ) cho tiến trình 2.2.3 Bộ đệm gói ( Packet buffer ) : Cung cấp đệm toàn cục kết hợp với chức quản lý đệm để lưu trữ gói liệu chuyển mạch 2.2.4 Trình điều khiển thiết bị ( Device drivers ) : Làm chức điều khiển giao tiếp phần cứng thiết bị ngoại vi, giao tiếp tiến trình IOS, kernel, phần cứng Chúng giao tiếp với phần mềm chuyển mạch nhanh (fast switching software) 2.2.5 Phần mềm chuyển mạch nhanh: Chức chuyển mạch gói liệu cao 3.3 Tổ chức nhớ IOS ánh xạ toàn bộ nhớ vật lý thành không gian địa ảo phẳng rộng lớn MMU ( memory map unit ) CPU có giá trị sử dụng để tạo không gian địa ảo chí mà IOS khơng tận dụng khối nhớ ảo trọn vẹn 3.3.1 Miền nhớ (memory region) : IOS chia không gian địa thành miền nhớ gọi region, region phù hợp với loại nhớ vật lý khác Ví dụ, SRAM lưu trữ gói liệu DRAM lưu trữ phần mềm liệu Phân lớp nhớ thành region cho phép IOS phân loại loại nhớ khác mà phần mềm không cần biết chi tiết nhớ platform (Nền phần cứng) Các region phân chia thành tám mục hình 3.2 Hình loại region Những region đặt mối quan hệ cha Mặc dầu khơng có áp đặt giới hạn chiều sâu mối quan hệ Những region đặt quan hệ subregion (miền con) miền cha Hình 3.3: Hiển thị cách bố trí nhớ ảo platform điển hình, bao gồm region subregion mà IOS tạo Hình 3 Region subregion Bạn dùng lệnh show region để thị region định nghĩa hệ thống: router#show region Region Manager: Start End Size(b) Class Media Name 0x01A00000 0x01FFFFFF 6291456 Iomem R/W iomem 0x31A00000 0x31FFFFFF 6291456 Iomem R/W iomem: (iomem_cwt) 0x4B000000 0x4B0FFFFF 1048576 PCI R/W pcimem 0x60000000 0x619FFFFF 27262976 Local R/W main 0x600088F8 0x61073609 17214738 IText R/O main:text 0x61074000 0x611000FF 573696 idata R/W main:data 0x61100100 0x6128153F 1578048 IBss R/W main:bss 0x61281540 0x619FFFFF 7858880 Local R/W main:heap 0x7B000000 0x7B0FFFFF 1048576 PCI R/W pcimem: (pcimem_cwt) 0x80000000 0x819FFFFF 27262976 Local R/W main: (main_k0) 0xA0000000 0xA19FFFFF 27262976 Local R/W main: )main_k1) Được mô tả sau: Tên region, địa bắt đầu, địa kết thúc, kích thước region Ví dụ: Iomem R/W iomem 0x31A00000 0x31FFFFFF 6291456 (tên region iomem, địa bắt đầulà 0x31A00000, địa kết thúc là: 0x31FFFFFF, kích thước: 6291456 byte ) Bạn thấy hình 1.2, tồn DRAM từ địa 0x60000000 đến 0x619FFFFF phân loại region local chia thành subregion Những subregion tương đương với phần khác IOS (text, BSS, data) heap 3.3.2 Vùng nhớ: (memory pool) IOS quản lý nhớ rỗi, thông qua chuỗi memory pool Mỗi pool tập hợp khối nhớ mà cấp phát thu hồi cần Memory pool xây dựng bên region quản lý kernel Thường thì, pool tương đương với region đặc biệt Một memory pool xây dựng từ vài region mở rộng, cho phép nhớ cấp phát thu hồi từ miền nhớ khác để tối đa hiệu hoạt động Bạn dùng lệnh show memory để hiển thị pool : router#show memory Head Total(b) Used(b) Free(b) Lowest(b) Largest(b) Processor 61281540 7858880 3314128 4544752 4377808 4485428 I/O 1A00000 6291456 1326936 4964520 4951276 4964476 PCI 4B000000 1048576 407320 641256 641256 641212 + Mô tả sau: (kích thước tính theo byte) - Total: kích thước pool - Used: lượng nhớ cấp phát - Free: lượng nhớ sẵn sàng để sử dụng - Lowest: lượng nhớ thấp sẵn sàng sử dụng từ mà pool tạo - Largest: kích thước khối nhớ liên tục lớn sẵn sàng sử dụng Lệnh show memory cung cấp ba pool với tham số tương ứng: heap, processor I/O 3.4 Tiến trình IOS (processes IOS) 3.4.1 Vịng đời tiến trình Một tiến trình tạo kết thúc lúc IOS hoạt động ngoại trừ có ngắt xảy Nó tạo kernel bỏi tiến trình khác chạy khác Một thành phần có trách nhiệm tạo nhiều tiến trình IOS gọi parser (bộ phân tách) Parser tập chức làm phiên dịch cấu hình IOS dịng lệnh EXEC Parser yêu cầu kernel suốt trình khởi tạo IOS tiến trình EXEC, để cung cấp giao tiếp dịng lệnh CLI thơng qua giao tiếp console (giao tiếp người máy) phiên telnet Tại thời điểm nào, lệnh nhập người dùng cấu hình đọc từ file, parser phiên dịch dòng lệnh đưa hoạt động tức thời Một vài lệnh cấu hình việc gán giá trị, địa IP, cấu hình khác định tuyến giám sát Một vài lệnh làm cho parser khởi tạo tiến trình Ví dụ: mà lệnh cấu hình router eigrp nhập vào, parser khỏi tạo tiến trình mới, gọi ipigrp (nếu tiến trình ipigrp khởi tạo rồi), bắt đầu xử lý gói ip EIGRP Nếu lệnh cấu hình no router eigrpđược nhập vào, parser kết thúc tiến trình ipigrp khơng cịn chức định tuyến EIGRP Tiến trình IOS trải qua trạng thái sau: hình 3.4 Hình Các trạng thái tiến trình IOS 3.4.1.1 Trạng thái khởi tạo (Create) Khi mà tiến trình tạo, nhận vùng stack riêng vào trạng thái (new) Tiến trình di chuyển đến trạng thái điều chỉnh (modify) Nếu khơng có thay đổi cần thiết, tiến trình chuyển sang trạng thái thực thi (Execute) 3.4.1.2 Trạng thái điều chỉnh (modify) Không giống hầu hết hệ điều hành, IOS không tự động truyền tải tham số khởi tạo gán giao tiếp đến tiến trình tạo, cho hầu hết tiến trình khơng cần tài nguyên Nếu tiến trình cần nguồn tài nguyên này, tuyến mà tạo điều chỉnh để thêm vào 3.4.1.3 Trạng thái thực thi (Execute) Sau tiến trình tạo thành cơng điều chỉnh, chuyển sang trạng thái sẵn sàng (Ready) vào trạng thái thực thi (Execute) Trong suốt trạng thái này, tiến trình truy cập CPU chạy Trong suốt trạng thái thực thi, tiến trình ba trạng thái: sẵn sàng, chạy, rỗi (Idle) Một tiến trình trạng thái sẵn sàng đợi chuyển sang trạng thái truy cập CPU, bắt đầu thực thi lệnh, tiến trình trạng thái rỗi ngủ, đợi kiện bên ngồi xuất trước chạy Một tiến trình chuyển từ trạng thái sẵn sàng sang trạng thái chạy mà lập lịch để chạy Với đa tác vụ mà không ưu tiên (non-preemptive multitasking), tiến trình lập lịch chạy CPU tạm ngừng kết thúc Một tiến trình tạm dừng theo hai cách: tự dừng việc báo cho kernel, muốn nhường CPU, chuyển sang trạng thái sẵn sàng, đợi đến lúc chạy lại Tiến trình dừng hoạt động bên xảy Khi mà tiến trình bắt đầu đợi kiện,kernel hồn tồn dừng tiến trìnhn chuyển sang trạng thái rỗi Sau kiện xảy kernel chuyển tiến trình trở lại trạng thái sẵn sàng để đợi chạy lại 3.4.1.4 Trạng thái kết thúc (Terminal): Trạng thái cuối vòng đời tiến trình trạng thái kết thúc Một tiến trình vào trạng thái kết thúc hồn thành chức đóng lại tiến trình khác đóng Khi tiến trình bị đóng tự đóng, tiến trình chuyển sang trạng thái chết (Dead) Tiến tình ỏ trạng thái chết (khơng hoạt động) kernel thu hồi tất tài nguyên Sau tài nguyên thu hồi, tiến trình bị kết thúc khỏi trạng thái chết xóa khỏi hệ thống 3.4.2 Độ ưu tiên tiến trình IOS IOS thực chế dộ ưu tiên để lập lịch tiến trình CPU Tại thời điểm tạo, tiến trình gán độ ưu tiên dựa mục đích tiến trình Độ ưu tiên khơng đổi, chúng gán tiến trình tạo khơng thay đổi Ta có độ ưu tiên: - Critical: Dành riêng cho tiến trình hệ thống thiết yếu mà giải vấn đề cấp phát tài nguyên - High: Được gán cho tiến trình mà cung cấp thời gian đáp ứng nhanh, tiến trình nhận gói trực tiếp từ giao tiếp mạng - Medium: Độ ưu tiên mặc định sử dụng bỏi hầu hết tiến trình - Low: Được gán cho tiến trình cung cấp tác vụ mang tính định kỳ, bảng ghi lỗi Độ ưu tiên tiến trình cung cấp ưu đãi cho vài tiến trình để truy cập CPU dựa quan trọng hệ thống, nhớ IOS khơng thực quyền ưu tiên Một tiến trình có độ ưu tiên cao khơng thể ngắt tiến trình có độ ưu tiên thấp hơn, thay vào đó, tiến trình có độ ưu tiên cao có nhiều hội để truy cập CPU 3.5 Kernel IOS IOS kernel không đơn vị đơn mà tập thành phần chức liên kết chặt chẽ với IOS kernel thực chức sau: Lập lịch tiến trình, quản lý nhớ, cung cấp dịch vụ routimes để trap (phát ) handle (điều khiển ) ngắt phần cứng, trì timers (bộ định thời gian), phát ngoại lệ phần mềm Các chức kernel: 3.5.1 Lập lịch Tác vụ lập lịch tiến trình thực scheduler ( lập lịch ) Scheculer quản lý tất tiến trình hệ thống cách sử dụng chuỗi hàng đợi tiến trình mơ tả trạng thái tiến trình Các hàng đợi chứa nội dung thông tin cho tiến trình trạng thái Tiến trình chuyển từ trạng thái sang trạng thái khác mà scheduler chuyển ngữ cảnh chúng từ hàng đợi tiến trình đến hàng đợi tiến trình khác Có tất sáu hàng đợi tiến trình - Idle queue: Chứa tiến trình mà hoạt động đợi kiện xảy trước chạy - Dead queue: Chứa tiến trình kết thúc cần bị thu hồi tài nguyên trước xóa chúng khỏi hệ thống - Ready queues: Chứa tiến trình mà có đủ điều kiện chạy, có loại hàng đợi sẵn sàng, độ ưu tiên tiến trình: o Critical o High o Medium o Low Khi tiến trình chạy bị tạm ngưng, scheduler lấy lại quyền điều khiển CPU đưa thuật toán để chọn tiến trình từ hàng đợi sẵn sàng Các bước cho thuật toán sau: Bước 1: scheduler kiểm tra tiến trình đợi hàng đợi sẵn sàng có độ ưu tiên critical Nó chạy tiến trình có độ ưu tiên critical, lần lượt, tất có hội để chạy Bước 2: sau tất cá tiến trình có độ ưu tiên critical có hội để chạy, scheduler kiểm tra hàng đợi có độ ưu tiên high, khơng có tiến trình có độ ưu tiên high sẵn sàng, scheduler bỏ qua bước tới bước 3, kiểm tra hàng đợi có độ ưu tiên medium Mặc khác, scheduler xóa tiến trình có độ ưu tiên high từ hàng đợi cho phép chạy Giữa tiến trình độ có ưu tiên high, scheduler kiểm tra kỳ tiến trình độ ưu tiên critical mà sẵn sàng chạy tất chúng trước xử lý tiến trình độ có độ ưu tiên high Sau tất tiến trình độ ưu tiên high có hội, scheduler bỏ qua hàng đợi medium low trở bước Bước 3: sau khơng có tiến trình có độ ưu tiên high chờ để chạy, scheduler kiểm tra hàng đợi có độ ưu tiên medium Nếu khơng có tiến trình có Hình 15 phân bố lưu lượng tải Router A có hai đường đến mạng 10.1.4.0/24 RouterA#show ip route 10.1.4.0 255.255.255.0 Routing entry for 10.1.4.0/24 Known via "static", distance 1, metric Routing Descriptor Blocks: 10.1.2.1 Route metric is 0, traffic share count is * 10.1.3.1 Route metric is 0, traffic share count is Trong vi dụ này, gói thứ dùng hop 10.1.3.1 gói thứ hai 10.1.2.1, tiếp tục 1.8.1.3 Nhược điểm process switch Nhược điểm phương pháp tốc độ Process switch yêu cầu bảng định tuyến cho gói, kích thước bảng định tuyến tăng lên, thời gian yêu cầu tìm kiếm bảng định tuyến tăng Thời gian tìm kiếm tăng tăng thời gian sử dụng CPU, ảnh hưởng nhiều đến tốc độ gói đến Mặc dầu điều khó nhận thấy mạng nhỏ, mạng lên tới hàng trăm, hàng ngàn node kích thước bảng định tuyến có ý nghĩa việc sử dụng CPU tiềm ẩn định tuyến (là thời gian gói vào khỏi hệ thống) Một nhân tố ảnh hưởng đến Process switching tốc độ di chuyển liệu nhớ Đối với số hệ điều hành, Process switch yêu cầu gói nhận chép từ vùng nhớ I/O đến vùng nhớ khác trước chúng chuyển mạch Sau tiến trình định tuyến kết thúc, gói phải chép trở lại vùng nhớ I/O trước truyền Hoạt động cần hoạt động mạnh mẽ CPU, mà hệ điều hành này, Process switch thực thi chậm Trở lại ví dụ trên, tiến trình ip_input cần có thành phần khố liệu để chuyển mạch gói - Reachability (có đích đến): Có đích hay khơng, có địa mạng hop để chuyển gói tới đích Dữ liệu bảng định tuyến - Interface ( cổng ): Cổng sử dụng để truyền gói liệu tới đích Dữ liệu nằm bảng định tuyến - Header lớp MAC: Địa MAC đặt để đến hop kế tiếp, địa MAC lấy từ bảng ARP (Address Resolution Protocol) cho ip bảng tham chiếu khác, bảng frame relay map III Shell 3.1 Định nghĩa Shell gọi mơi trường dịng lệnh Đây chương trình tương tác người dùng hệ điều hành mơi trường dịng lệnh Hệ thống cung cấp giao diện để người dùng nhập lệnh thực thi tác vụ hệ điều hành Shell thực thi lệnh hệ thống nhiều chức khác Điển việc: chạy chương trình, quản lý tệp tin thư mục, chuẩn bị môi trường làm việc thực nhiều tác vụ khác Công nghệ tạo cách tiếp cận trực tiếp với hệ điều hành thông qua việc sử dụng lệnh cụ thể Cách phân loại Shell gì? Có nhiều loại shell khác phân biệt cú pháp tính riêng Một số loại shell phổ biến Bash (Bourne Again shell), powershell (Power Shell), zsh (Z Shell), sh (Bourne Shell) 3.2, Môi trường : Shell sử dụng hệ điều hành Unix, bao gồm Linux macOS Ngoài ra, số hệ điều hành khác Windows hỗ trợ Shell thông qua hỗ trợ shell powershell Cụ thể, hệ điều hành Unix Linux kèm với số loại shell Bash, zsh sh Trên macOS, mặc định shell sử dụng Bash Trên Windows, powershell shell phổ biến mạnh Cơng nghệ sử dụng lệnh tương tự shell Unix Linux Tuy nhiên, tiện ích cung cấp khả thực thi tác vụ mạnh mẽ quản lý hệ thống điều khiển powershell 3.3 Tổng hợp shell : Tùy thuộc vào hệ điều hành mà bạn sử dụng sử dụng shell khác Từ nâng cao khả để tương tác với hệ thống thực tác vụ Bournce Shell Bourne Shell (sh) loại shell cổ điển hệ điều hành Unix Loại có cú pháp đơn giản hỗ trợ tính shell Điển gọi lệnh, định tuyến đầu đầu vào, thực thi tệp tin shell Dưới giới thiệu số đặc điểm Bourne Shell: Cú pháp đơn giản Bourne Shell có cú pháp đơn giản dễ hiểu, giúp người dùng viết tập lệnh cách dễ dàng Công nghệ sử dụng lệnh cú pháp để thực thi tác vụ hệ thống Chương trình tuân thủ tiêu chuẩn POSIX (Portable Operating System Interface) Từ mà Bourne trở thành shell đáng tin cậy di động hệ điều hành Unix khác Thiết kế tương thích ngược Bourne Shell thiết kế để tương thích ngược với phiên shell cổ điển trước sh (Bourne Shell trước đó) csh (C Shell) Điều có nghĩa tập lệnh viết cho shell trước dễ dàng chạy Bourne Shell Hỗ trợ biến môi trường Công nghệ Bourne Shell cho phép người dùng thiết lập sử dụng biến môi trường Biến môi trường giá trị lưu trữ sử dụng shell Mục đích nhằm xác định cài đặt cấu hình môi trường hệ thống