방금 운영 체제 과정을 마쳤는데 운영 체제의 정의가 아직 명확하지 않습니다. 운영 체제 자체가 CPU, 메모리 등의 리소스를 차지합니까? 예를 들어, 스케줄링 알고리즘은 작업을 비교하여 어느 작업이 먼저 수행되는지, 작업이 포함된 데이터 구조가 공간을 차지하는지 확인하기 위해 약간의 처리 능력을 필요로 합니다.
또한 가상 메모리로 무엇을 해야 할지 아는 행위에는 자원을 차지하는 계산이 필요합니다. 그렇죠?
가정적으로 말하면, 프로그램은 하나만 있고 운영 체제는 없는 컴퓨터에서 프로그램을 실행하는 경우 프로그램은 운영 체제만 있는 동일한 컴퓨터에서보다 더 빠르게 실행될 것입니다. 그게 사실인가요?
편집: 과정이 완전히 쓰레기였다는 데 동의합니다. 여기에는 오락 목적으로 우리에게 주어진 OS의 정의가 있습니다.
운영 체제란 무엇입니까? • 여러 가지 가능한 정의 1. {Microsoft, Apple, Linux 커뮤니티, Google}이 제공하는 코드 2. 귀하가 작성하지 않았지만 귀하가 의존하는 코드 3. 권한 모드에서 실행되는 코드 4. 사물을 만드는 코드 작업 5. 일을 충돌시키는 코드(냉소적인 정의라기보다는) 6. 그리고 다른 많은 것들...
OS란? • 추상화 – 컴퓨터에서 실행되는 응용 프로그램이 해당 컴퓨터의 리소스에 액세스할 수 있는 적절한 인터페이스를 제공합니다. 이는 "적절함"을 어떻게 정의하느냐에 따라 크게 달라집니다. • 다양한 문제를 해결하는 방법 – 시간에 따른 성능 – 공간에 따른 성능 – 공유 및 자원 관리 - 장애 허용 - 보안 - 시장성
이런 교과서 조롱우리는 100달러 이상을 지출해야 했고, 운영 체제를 "거의 모든 것이 의존하는 소프트웨어입니다. 이것은 여전히 모호하지만 이 용어는 업계 전체에서 다소 모호한 방식으로 사용됩니다"라고 정의합니다.
답변1
운영 체제 자체가 리소스를 차지합니까(설치된 공간 제외)?
예.
방금 운영 체제 과정을 마쳤는데 운영 체제의 정의가 아직 명확하지 않습니다.
낮은 수준에서 운영 체제는 다른 프로그램과 다르지 않습니다. 궁극적으로 이는 일련의 CPU 명령에 지나지 않습니다. 유일한 차이점은 OS의 명령이 프로그램의 명령과 다소 다른 작업을 수행한다는 것입니다.
OS를 설명하는 가장 좋은 방법은 다음과 같습니다.메타프로그램. 즉, 대신뭔가를하고, 이 프로그램은 다음을 가능하게 합니다.다른뭔가를 하기 위한 프로그램.
운영 체제 자체가 CPU, 메모리 등의 리소스를 차지합니까?
물론이죠.
예를 들어, 스케줄링 알고리즘은 작업을 비교하여 어느 작업이 먼저 수행되는지, 작업이 포함된 데이터 구조가 공간을 차지하는지 확인하기 위해 약간의 처리 능력을 필요로 합니다.
정확히. OS의 기능은 단지 CPU 명령어 더미일 뿐이며 사용자 프로그램의 기능과 마찬가지로 공간을 차지하며 CPU에서 실행되어야 합니다.
또한 가상 메모리로 무엇을 해야 할지 아는 행위에는 자원을 차지하는 계산이 필요합니다. 그렇죠?
당연히.
가정적으로 말하면, 프로그램은 하나만 있고 운영 체제는 없는 컴퓨터에서 프로그램을 실행하는 경우 프로그램은 운영 체제만 있는 동일한 컴퓨터에서보다 더 빠르게 실행될 것입니다. 그게 사실인가요?
약간.
CPU는 매우 빠르며 다음과 같은 작업을 수행할 수 있다는 점을 기억하십시오.많은짧은 시간 안에 지시를 내립니다. 더욱이 운영 체제는 가능한 한 최적이 되도록 광범위하게 설계되고 조정되었으므로 (적어도 이론적으로는) CPU와 메모리를 최대한 적게 사용합니다. 따라서 스케줄링, 메모리 관리, 작업 전환, 하드웨어 구동 등과 같은 작업에 사용하는 알고리즘은 상대적으로 적은 리소스를 사용합니다. 작업 관리자에서 이를 확인할 수 있습니다. 실행 중인 프로그램이 없고 OS가 최소 수준으로 줄어들면 사용되는 메모리가 거의 없으며 CPU는 "0%"에서 실행됩니다. (다시 말하지만, 우리는 이론적으로 이야기하고 있습니다. 예를 들어 Windows는 최근 들어 "부풀어 오르고" 있으므로 더 이상 적용되지 않을 수 있습니다.)
답변2
방금 운영체제 강좌를 마쳤다면 환불을 요청해야 합니다. 귀하의 질문은 너무 순진하여 귀하가 숙제 문제에 대한 해결책을 찾고 있지 않다는 것을 정말로 믿을 수 없습니다.
OS에 대한 현대적인 관점은 애플리케이션이 메모리, CPU, I/O 장치 등 컴퓨터의 리소스에 액세스하는 데 사용할 수 있는 서비스 공급자의 모음입니다. OS와 애플리케이션 사이의 경계가 정확히 어디에 그려지는지는 종교적인 문제입니다(Andrew Tanenbaum과 Linus Torvalds 간의 논쟁 참조).
최신 운영 체제는 애플리케이션에 격리된 기계 추상화를 제공하는 역할을 합니다. 예를 들어 귀하의 애플리케이션은 내 애플리케이션에서 사용 중인 메모리에 접근할 수 없습니다. 이를 안전하고 안전한 방식으로 수행하기 위해 추상화를 관리하는 중요한 코드는 일반적으로 OS 커널이라는 항목으로 격리됩니다. 다시 한번, 커널에 들어가는 것과 사용자 공간 공유 라이브러리 사이의 경계는 논쟁의 여지가 있습니다.
실제로 이런 종류의 내용이 OS 과정에서 다루어지지 않았다면 도대체 무엇이었습니까?