Hệ điều hành
Khái niệm::
-
Hệ điều hành cụ thể:
- Magisk
- Termux
- chmod dùng để thay đổi quyền đọc, ghi, thực thi của tệp hoặc thư mục
- Các chương trình trên Linux hướng đến việc làm tốt đúng một nhiệm vụ duy nhất, và làm tốt việc làm cùng nhau
- Linux là nhân hệ điều hành. GNU Linux mới là hệ điều hành
- Dùng chương trình Linux cho người không biết gì về nó
- Nên cài Linux hay dùng WSL
- nobody là một người dùng hệ thống không có đường dẫn home và có quyền tối thiểu (UID 65534)
- Ý nghĩa tên các thư mục
- Tệp đuôi app trong Mac là thư mục, không tương đương với exe trong Windows
- Bản curl MSYS trong Git Bash dễ có vấn đề. Dùng curl.exe đảm bảo hơn
- Các lệnh để chạy khi cài win mới
- Local app data
- Windows rất lằng nhằng trong việc thiết lập cấu hình
- Windows không ship phiên bản dotnet Core mới nhất để tránh việc dotnet phải hỗ trợ phiên bản Windows đó cho tới khi nào phiên bản đó bị chính thức ngừng hỗ trợ
-
Nguyên lý chung:
- Biến môi trường giúp ta điền những giá trị lặp đi lặp lại nhanh hơn
- Biến môi trường người dùng (user env) được ưu tiên hơn biến môi trường hệ thống (system env). Nhưng với biến PATH thì ngược lại
- Biến môi trường PATH là đường dẫn mặc định tới những tập tin nhị phân (binary)
- Viết một biến vào tệp .env không có nghĩa là biến đó đã trở thành biến môi trường. Phải có thêm một chương trình nạp nó vào môi trường
- Chương trình = Cấu trúc dữ liệu + thuật toán
- Chương trình là một đoạn mã được lưu trên ổ đĩa. Tiến trình là khi đoạn mã đó được nạp vào RAM và được CPU đọc
- Các trình quản lý tiến trình (process monitor) giúp theo dõi mức độ tiêu thụ tài nguyên của các tiến trình
- CPU Usage precise cho biết how much CPU time each thread consumes, and what the call stack looked like when a thread lost or gained the CPU. CPU Usage sampled cho biết what a thread is doing between context switches
- Daemon là loại chương trình hoạt động ngầm không chịu sự kiểm soát bởi người dùng
- DWM becomes active whenever Windows detects that a program has hung – DWM takes over window management so that the user can still move the hung window around.
- PID 1 không nằm trong nhân, mà nằm trong vùng người dùng
- Tiến trình PID 1 sẽ tạo ra các tiến trình khác
- Trong Linux, PID 1 phải luôn được giữ sống, để nó quản lý những tiến trình mồ côi khác. Trong Windows thì được có những tiến trình mồ côi
- Những chương trình có chữ d đằng sau là daemon
- Server là bên cung cấp dữ liệu cho bên khác. Client là bên yêu cầu bên khác cung cấp dữ liệu cho mình
- Hệ điều hành
- Khu vực người dùng chỉ được phép chạy các lệnh logic. Muốn làm việc với phần cứng phải thông qua nhân
- Những thứ ở hệ điều hành mà người dùng quen thuộc đều không phải là nhân của nó
- ❓Gọi là không gian nhân vì nó là không gian ánh xạ địa chỉ
- Lệnh con thì không có gạch. Cờ thì có gạch
- -contains là giống hoàn toàn. -match mới là giống một nửa
- cmd vẫn được dùng để chạy exe
- cmdlet dùng định dạng Verb-Noun
- Các lệnh PowerShell thường dùng
- Dùng toán tử hay hơn dùng phương thức ở chỗ nếu toán hạng là một mảng thì nó sẽ lọc mảng đó luôn
- Dùng Where-Object nhanh hơn dùng -Filter
- Khi nhận dữ liệu, PowerShell mặc định giải mã ký tự bằng OEM chứ không phải UTF-8
- PowerShell là một ngôn ngữ shell
- powershell.exe, PowerShell 5, Windows PowerShell là một. pwsh.exe, PowerShell 6, PowerShell Core là một
- Windows Terminal có thể được kích hoạt trong Explorer
- Profile
- Shell là cái vỏ bảo vệ nhân của hệ điều hành
- Terminal là cái chương trình để làm việc với shell
- Terminal, console, shell và command line thường được dùng lẫn lộn với nhau
- Cách các đường dẫn ở những nơi khác nhau xử lý dấu cách và ký tự phi ASCII
- Dùng absolute path cho lành
- Hệ điều hành trông như có vẻ dùng được đường dẫn Unicode, nhưng thực ra chúng chỉ là ASCII
- Những chương trình cũ sẽ dễ gặp vấn đề về dấu cách hơn những chương trình mới
- pwd là thư mục mà tiến trình sẽ chạy. cwd là thư mục mà mình đang ở đó
- Việc có khoảng trắng trong tên file sẽ khiến việc xử lý code phức tạp hơn
- Sự khác biệt giữa Windows và Android, Mac trong tên file
- Đường dẫn đến tệp ngoài trong một script phụ thuộc vào cwd, không phải đường dẫn tới script mình đang viết
- Ở tệp, quyền thực thi nghĩa là tệp này có thể chạy như một chương trình. Ở thư mục, quyền thực thi có nghĩa là ta có thể truy cập được vào nó