Operating System's tasks

Think_Positively·2021년 3월 3일
0

백엔드_개발자

목록 보기
6/6

Operating System's tasks

  • Processor management
  • Memory management
  • Device management
  • Storage management
  • Application interface
  • User interface

Processor Management

프로세스 관리는 크게 두가지로 나눌 수 있습니다.

  1. 각 프로세스 및 애플리케이션이 작동하기에 충분한 시간을 갖도록 보장
  2. 실제 작업에 가능한한 많은 프로세스 주기

운영 체제가 다루는 소프트웨어의 기본 단위는 '프로세스' 또는 '스레드'입니다. 오늘날 멀티 코어 프로세스와 멀티 프로세스 시스템은 더 많은 일을 처리할 수 있지만 각 프로세스 코어는 여전히 한번에 하나의 작업을 처리할 수 있습니다. 한번에 많은 일이 처리되는 것 처럼 보이기 위해서 운영체제는 초당 수천 번 다른 프로세스 간에 전환해야 합니다. 그러기 위해서는 일정한 프로세스가 필요합니다.

  • 하나의 프로세스가 일정량 RAM 차지
  • 두 개의 프로세스가 돌고있으면 운영체제가 하나의 프로그램에 CPU 실행 주기를 줍니다.
  • 실행주기가 끝나면 레지스터, 스택, 큐를 copy하고 어디서 멈췄는지 저장.
  • 다른 하나의 프로세스가 사용하던 레지스터, 스택, 큐를 로드하고 CPU 실행 주기를 줍니다.
  • 실행주기가 끝나면 다시 첫번째 프로그램에게 실행주기를 주며 cycle 반복

Memory management

운영체제가 컴퓨터의 메모리를 관리하는 일은 크게 두가지로 볼 수 있습니다.

  1. 각 프로세스에는 실행할 메모리가 충분해야 하며, 다른 프로세스의 메모리 공간으로 실행되거나 다른 프로세스에 의해 실행될 수 없습니다.
    2.각 프로세스가 가장 효과적으로 실행될 수 있도록 시스템의 다양한 유형의 메모리를 적절하게 사용해야 합니다.

운영 체제는 프로세스 스케줄이 지시하는 대로 사용 가능한 메모리 간에 블록(페이지라고 함)으로 데이터를 이동하면서 다양한 프로세스의 필요성과 다양한 메모리 유형의 가용성의 균형을 맞춰야 한다.

Device Management

운영 체제와 컴퓨터의 마더보드에 없는 사실상 모든 하드웨어 사이의 경로는 드라이버라고 불리는 특별한 프로그램을 거친다. 하드웨어의 차이가 매우 크기 때문에 드라이버 프로그램이 작동하는 방식에 차이가 있습니다. 대부분은 장치가 필요할 때 실행되며 다른 프로세스와 거의 동일한 기능을 수행합니다. 운영 체제는 하드웨어 리소스를 해제하고 가능한 빨리 추가 사용을 위해 준비할 수 있도록 드라이버에 우선 순위가 높은 블록을 자주 할당합니다.

입력과 출력을 관리하는 것은 주로 대기열 및 버퍼 관리의 문제로, 장치에서 비트의 스트림을 가져와서 키보드 또는 직렬 포트에서 이러한 비트를 보관하고 CPU에서 CPU가 대처할 수 있는 속도로 이를 릴리스하는 특수한 스토리지 설비입니다. 이 기능은 여러 프로세스가 실행 중이고 프로세서 시간이 걸리는 경우에 특히 중요합니다. 운영 체제는 버퍼에 디바이스에서 입력을 계속 가져오되 입력을 사용하는 프로세스가 일시 중단된 동안에는 CPU로 데이터 전송을 중지하도록 지시합니다. 그런 다음 입력이 필요한 프로세스가 다시 활성화되면 운영 체제가 버퍼에 명령하여 데이터를 전송합니다. 이 프로세스를 통해 CPU가 소스 입력을 사용할 수 없는 경우가 있더라도 키보드나 모뎀이 외부 사용자나 컴퓨터를 고속으로 처리할 수 있습니다.

Application Program Interfaces

애플리케이션 프로그램 인터페이스(API)는 애플리케이션 프로그래머들이 CPU의 동작에서 모든 세부 사항을 직접 추적할 필요 없이 컴퓨터와 운영 체제의 기능을 사용할 수 있게 한다.


References
https://computer.howstuffworks.com/operating-system.htm

profile
데이터 엔지니어를 꿈꾸며

0개의 댓글