{"id":21894217,"url":"https://github.com/tgluong/linux_driver_lab","last_synced_at":"2025-08-12T13:42:24.248Z","repository":{"id":139453246,"uuid":"481055304","full_name":"TGLuong/linux_driver_lab","owner":"TGLuong","description":null,"archived":false,"fork":false,"pushed_at":"2022-06-10T08:23:57.000Z","size":275,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-22T04:11:17.419Z","etag":null,"topics":["linux-driver-programing","linux-kernel","linux-kernel-crypto-hash"],"latest_commit_sha":null,"homepage":"","language":"Batchfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TGLuong.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-13T03:21:00.000Z","updated_at":"2023-01-12T04:55:28.000Z","dependencies_parsed_at":null,"dependency_job_id":"e048cfac-8ade-4d46-97ed-5b7a4274170f","html_url":"https://github.com/TGLuong/linux_driver_lab","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/TGLuong/linux_driver_lab","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TGLuong%2Flinux_driver_lab","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TGLuong%2Flinux_driver_lab/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TGLuong%2Flinux_driver_lab/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TGLuong%2Flinux_driver_lab/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TGLuong","download_url":"https://codeload.github.com/TGLuong/linux_driver_lab/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TGLuong%2Flinux_driver_lab/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270071270,"owners_count":24522273,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-12T02:00:09.011Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["linux-driver-programing","linux-kernel","linux-kernel-crypto-hash"],"created_at":"2024-11-28T13:20:17.373Z","updated_at":"2025-08-12T13:42:24.221Z","avatar_url":"https://github.com/TGLuong.png","language":"Batchfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"## lab1\n1. Viết mô-đun nhân thực hiện công việc sau rồi insert vào nhân và thực thi\n```\n- Tính tổng các phần tử trong chuỗi số\n- Tìm ƯCLN của 2 số\n```\n2. Viết mô-đun nhân thực hiện công việc sau rồi insert vào nhân và thực thi\n```\n- Tìm giá trị lớn nhất và nhỏ nhất trong chuỗi số\n- Trung bình cộng của chuỗi số.\n```\n3. Viết mô-đun nhân thực hiện công việc sau rồi insert vào nhân và thực thi\n```\n- Tính tổng các phần tử trong ma trận\n- Đếm số phần tử dương, âm trong ma trận\n- Tìm giá trị lớn nhất, nhỏ nhất trên đường chéo chính, chéo phụ\n- Tính tổng các số chẵn, lẻ trong ma trận\n```\n4. Viết mô-đun nhân tìm ƯCLN của 1 chuỗi số. Chuỗi số được truyền vào cho mô-đun nhân\n\n## lab2\n1. Viết mô-đun nhân thực hiện các công việc sau:\n```\n- Chuyển từ số hệ 16 sang hệ 2\n- Chuyển số hệ 10 sang hệ 2\n- Chuyển số hệ 10 sang hệ 16\n- Chuyển số hệ 2 sang hệ 8\n- Chuyển số hệ 8 sang 16\n- Chuyển số hệ 16 sang 8\n- Chuyển số từ hệ 2 sang hệ 10\n```\n\n2. Viết mô-đun nhân thao tác trên xâu\n```\n- Đếm số ký tự của một xâu cài đặt theo ký tự kết thúc\n- Đảo ngược xâu trong hai trường hợp cài đặt theo độ dài và ký tự kết thúc\n- Chuẩn hóa xâu\n- Nối hai xâu\n```\n\n## lab3\n1. Viết mô-đun nhân thực hiện các công việc sau:\n```\n- Tính tích vô hướng của 2 vector\n- Tính tổng, hiệu, tích 2 ma trận\n- Tính chỉnh hợp chập k của N\n```\n\n2. Viết mô-đun nhân một số hàm mật mã đơn giản\n\n```\n- Thực hiện mã hóa chuyển vị\n    + Dữ liệu rõ chứa trong XauRo\n    + Khóa K: chứa trong biến nhớ k\n    + Dữ liệu mã chứa trong XauMa\n- Thực hiện mã hóa thay thế\n    + Dữ liệu rõ chứa trong XauRo\n    + Khóa K: mảng các ký tự được thay thế tương ứng\n    + Dữ liệu mã chứa trong XauMa\n- Thực hiện mã hóa hoán vị toàn cục\n    + Dữ liệu rõ chứa trong XauRo\n    + Khóa K: mảng các chỉ số hoán vị tương ứng\n    + Dữ liệu mã chứa trong XauMa\n```\n\n## lab4\n1. Viết 1 character driver theo cách cấp phát device number động, tên driver = lab4.1 + tên sinh viên. Và viết chương trình sử dụng driver này từ không gian người dùng.4\n2. Viết 1 character driver theo cách cấp phát device number tĩnh, tên driver = lab4.2 +\ntên sinh viên. Và viết chương trình sử dụng driver này từ không gian người dùng.\n\n## lab5\n1.   Viết 1 character driver theo cách cấp phát device number động, tên driver = lab5.1 + tên\n    sinh viên. Driver thực hiện công việc sau: cung cấp hàm nhận 1 số hệ 10 từ không gian\n    người dùng, chuyển số hệ 10 sang hệ 2, 8, 16 và lưu ra thiết bị; cho phép đọc các số hệ 10,\n    2, 8, 16 tương ứng.\u003c/br\u003e\n    Viết chương trình người dùng thực hiện menu chức năng sau:\u003c/br\u003e\n\n```\n1. Open thiết bị\n2. Nhập số hệ 10 và ghi ra thiết bị số hệ 10, 2, 8, 16\n3. Đọc số hệ 2\n4. Đọc số hệ 8\n5. Đọc số hệ 16\n6. Đóng thiết bị và kết thúc ctr\n```\n\n2.  Viết 1 character driver theo cách cấp phát device number động, tên driver = lab5.2 + tên\n    sinh viên. Driver thực hiện việc lấy thời gian tuyệt đối (trong nhân) chính xác đến micro\n    giây, nano giây và thời gian tương đối.\u003c/br\u003e\n    Viết chương trình người dùng thực hiện menu chức năng sau:\u003c/br\u003e\n\n```\n1. Lấy thời gian tuyệt đối, chính xác đến micro giây2. Lấy thời gian tuyệt đối, chính xác đến nano giây\n3. Lấy thời gian tương đối\n4. Kết thúc ctr\n```\n\n## lab6\nViết 1 driver mật mã dạng Character driver cài đặt một số thuật toán mã hoá như: mã dịch chuyển, mã hoán vị, mã thay thế.\u003c/br\u003e\nViết chương trình người dùng sử dụng thư viện mật mã trên theo menu chức năng sau\u003c/br\u003e\n\n```\n1. Nhập vào 1 xâu.\n2. Mã hoá và lưu xâu mã dùng mã dịch chuyển (khoá nhập vào từ bàn phím).\n3. Mã hoá và lưu xâu mã dùng mã thay thế (khoá nhập vào từ bàn phím).\n4. Mã hoá và lưu xâu mã dùng mã hoán vị (khoá nhập vào từ bàn phím).\n5. Giải mã theo dịch chuyển.\n6. Giải mã theo hoán vị.\n7. Giải mã thay thế.\n```\n\n## lab7\nViết 1 driver mật mã dạng Character driver cài đặt một số thuật toán băm: MD5, SHA1, SHA2. \u003c/br\u003e\nViết chương trình người dùng sử dụng thư viện mật mã trên theo menu chức năng sau:\u003c/br\u003e\nMenu chức năng:\u003c/br\u003e\n\n```\n1. Nhập vào danh sách người dùng (lưu ra file: gồm tên đăng nhập; mật khẩu được băm theo 3 thuật toán trên)\n2. xoá người dùng khỏi danh sách\n3. Kiểm tra đăng nhập: cho phép chọn thuật toán băm ở trên; nhập tên đăng nhập và mật khẩu; cần băm mật khẩu để so sánh theo thuật toán băm tương ứng.\n4. thoát.\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftgluong%2Flinux_driver_lab","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftgluong%2Flinux_driver_lab","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftgluong%2Flinux_driver_lab/lists"}