Socials Media

Thứ Hai, 17 tháng 12, 2018

Tổng quan về hệ điều hành và kiến trúc máy tính

1. Computer System Structure 

Kiến trúc của một hệ thống máy tính:
+ Hardware - Phần cứng: CPU, memory, I/O devices
+ Operating system - Hệ điều hành: điều khiển và phối hợp với các thành phần phần cứng với tầng ứng dụng của người dùng
+ Application program -Chương trình ứng dụng: Web browers, database,system , video game,.. + Users - Người dùng: People, machine, other computer.

2. Computer Startup 

Một chương trình Bootstrap program được load ngay tại thời điểm khởi động của máy tính (power-up or reboot). Một vài đặc điểm của một bootstrap program:

    •  Thường thì Bootstrap program sẽ được lưu vào trong bộ nhớ ROM, EPROM - firmware 
    •   Khởi tạo tất cả các thành phần mà hệ điều hành 
    •  Khởi động hệ điều hành bằng các load các module vào kernel và tiến hành thực thi các chương trình OS 

 3. Computer System Organization 


  •   Nguyên tắc hoạt động của OS trong hệ thống thống máy tính:  
    • Một hay nhiều thiết bị điều khiển (device controller), CPUs được kết nối với nhau thông qua một kênh bus chung giúp dễ dàng cho việc truy cập và chia sẻ tài nguyên memory
    •  Một một quá trình thực thi đồng thồi của CPUs và hoạt động của một thiết bị device đều được thực hiện trong một chu kì memory cycles


  • Các thiệt bị I/O và CPU có thể được thực thi một cách đồng thời 
  •  Mỗi một device controller có trách nhiệm điều khiển một loại device nhất định 
  •  Một một device controller sẽ có một bộ nhớ đệm local buffer 
  • Các truy xuất I/O từ device sẽ được truy xuất thông qua local buffer của controller 
  • Khi một quá trình thực hiện được kết thúc device contrller sẽ thông báo với CPU thông qua một tín hiệu ngắt interrupt 
  • Một vài chức năng cơ bản của hàm ngắt trong OS: \
    • Thông qua một interrupt vector (bao gồm những địa chỉ của các dịch vụ chạy thông thường) những tín hiệu interrupt sẽ được điều khiển bới các hàm interrupt trong chương trình một cách thường xuyên 
    • Khi có một lỗi, ngoại lệ, hay các request từ phía người dùng xảy ra trong chương trình hàm interrup sẽ được gọi 
    • Một hệ điều hành bao gồm tập hợp của rất nhiều quá trình điều khiển interrupt 

  4. Storage Hierarchy 

  •  Hệ thống lưu trữ trong một OS được sắp xếp theo mô hình phân cấp dự theo các tiêu chí: 
    • Tốc độ (Speed)
    • Cost (Chi phí) 
    • Sự thay đổi (Volatility )


  • Caching: thực hiện coppy thông tin và hệ thống lưu trữ nhanh hơn, main memory có thể được coi như một bộ nhớ cache 
  • Device Driver: Cũng cấp các chuẩn giao tiếp interface giữa controller và kernel, mỗi một device controller sẽ điều khiển I/O thông qua các chuẩn các interface này

5. Trasition from User to Kernel Mode



  •  Một bộ timer giúp cho ngăn chặn các vòng lặp và tiến trình chạy vô hạn (infinite loop/process) gây tiêu tốn nhiều tài nguyên.
    • Timer được thiết lập cho máy tính sau một chu kì nhất định 
    • Biến counter sẽ được giảm dần theo bộ đồng hồ vật lý (the physical clock) 
    • Hệ điều hành xét biến counter theo một chỉ thị nhất định 
    • Khi biến counter bằng 0 sẽ sinh ra một tín hiệu ngắt 
    • Quá trình này được thực hiện trước khi các tiến trình lập lịch giúp điều khiển và kết thúc một chương trình theo một thời gian nhất định

6. Process Management 


  • Một tiến trình hay process là một chương trình trong quá trình thực thi. Process là một phần công việc trong cả một hệ thống. Program là một passive entity, process là một active entity. • 
  • Mỗi một process cần tài nguyên để hoàn thành các task vụ củ nó bao gồm: 
    • CPU, memory, I/O, files 
    • Initialization data 
  • Khi một tiến trình-process kết thúc nó giải phóng bộ nhớ cho quá trình tái sử dụng lại tiếp theo
  • Các tiến trình đơn luồng Single-threaded process chỉ có duy nhất một biến program counter chỉ thị phần địa chỉ trong lần thực thi tiếp theo 
    • Các tiến trình thực hiện các chỉ thị instructions một cách độc lập cho tới khi kết thúc. 
  • Một tiến trình đa luồng Multi-threaded process là tiến trình mà mỗi một luồng có một biến đếm chương trình program counter 
  • Các hệ thống thông thườngng sẽ có rất nhiều tiến trình, chương trình người dùng có thể tương tác với hệ điều hành được chạy đồng thời trên cùng một hoặc nhiều CPUs 
  • Process Management Activities: 
    • OS chịu trách nhiệm cho các hoạt động liên quan đến các kết nối với quá trình quản lý các tiến trình process management bao gồm: 
      • Khởi tạo và xóa bỏ các tiến trình người dùng và tiến trình hệ thống 
      • Tạm dừng và tiếp tục các tiến trình 
      • Cung cấp các cơ chế đồng bộ giữa các tiến trình 
      • Cung cấp các cơ chế giao tiếp giữa các tiến trình 
      • Cung cấp các cơ chế cho quá trình xử lí deadlock 

 7. Memory Management 



  • Thực hiện tất cả các chỉ thị instructions của một chương trình phải được thực hiện trong memory 
  • Tất cả các dữ liệu trong một chương trình thì đều được lưu trữ trong memory -> Quá trình memory management giải quyết hai vấn đề: Tối ưu hóa quá trình sử dụng CPU và phản hồi từ máy tính đến người dùng 
  • Memory management activities: 
    • Quản lý quá trình cấp phát và giải phóng không gian bộ nhớ 
    • Chọn lựa và đưa ra quyết định tiến trình nào nhập và lấy thông tin ra khởi bộ nhớ memory 

 8. Store Management 

  • OS cung cấp hỗ trợ logical view về thông lưu trữ storage:
    • Các thành phần vật lý đến đơn vị lưu trữ logical storage: File 
    • Các thông số liên quan đến device: tốc độ truy nhập, dung lượng, tốc độ chuyển dữ liệu, phương thức truy cập 
  • Quản lý hệ thống tập tin - File system management 
    • Các tập tin thường được tổ chức và lưu trữ vào trong các thư mục directories 
    • Các thư mục lưu trữ thường sẽ có các quyền truy nhập cho một user hay group 
    • OS activities:
      • Khởi tạo và xóa thư mục và file
      • Mapping file đến một vùng lưu trữ thứ hai secondary storage
      • Backup files vào trong một vùng nhớ ổn định stable (non-volatile) storage media 
  •  Một vài thông số hiệu năng của một số kiểu bộ nhớ:

Share:

tovanhieu-bk.blogspot.com

Tìm kiếm Blog này

Được tạo bởi Blogger.

Giới thiệu về tôi

Ảnh của tôi
Hello everybody, my name is Hieu, but you can call me Toni, I am a Software Engineer👨‍🔬 and a Blogger 👨‍💻 . My major is Information and Communication Engineering. I am passionate about cutting-edge technologies: Cloud Computing ☁️, AI/ML🤖 and Security 🕵️. During my leisure time, I write blogs and stuff about life and technology 🧑🏻‍💻. Have a nice day and enjoy while reading my blog 🥰

About me

Hi everybody 👋 My name is Hieu, but you can call me Toni A Software Engineer 👨‍💻 Blogger and  Lecturer 🧑‍🏫 I'm a self-motivated stu...

Người theo dõi