잠시 내 마음에 들었던 질문이 있습니다. C와 같은 언어는 파이썬보다 빠르며 따라서 운영 체제를 작성하는 데 사용된다는 것을 알고 있습니다. 필자는 어딘가에서 파이썬으로 작성된 운영 체제가 매우 느릴 것이라고 읽었습니다. 그래서 제 질문은 다음과 같습니다. 프로세서 속도가 지속적으로 향상됨에 따라 특정 언어의 실행 속도가 운영 체제 개발에 영향을 미치지 않습니까? 앞으로는 C로 작성된 운영 체제와 거의 동일한 속도로 실행되는 Python 전용 운영 체제를 작성할 수 있습니까? 고맙습니다.운영체제 개발에서의 Python의 속도
답변
일반적인 문제
그것은 파이썬 자체 호스팅하지 않기 때문에 혼자 파이썬에서 운영 체제를 작성할 수 없습니다.
gcc와 같은 C 컴파일러에는 운영 체제 개발 (및 기타 관련 작업) 용으로 설계된 특별한 "프리 스탠딩"모드가 있으며 printf
과 같은 기능을 사용할 수 없습니다 (어셈블러를 사용하여 직접 구현해야하므로).
print
과 같은 파이썬 함수는 내장되어 있으며 제거 만 할 수는 없습니다. 운영 체제가 없다면 어떻게 구현 될까요?
마지막으로, 운영 체제에 의존하는 파이썬의 모든 부분을 비활성화 할 수 있더라도 여전히 CPU를 제어 할 수는 없습니다. 페이징이나 인터럽트 같은 것들을 가능하게하기 위해서는 파이썬이 생성 할 수없는 특별한 어셈블러 명령어가 필요합니다. 또한 메모리에 특정 위치에 물건을 배치해야하며 파이썬에는 원시 포인터가 없습니다.
This page에는 OS 개발을 위해 C 이외의 언어를 사용하는 데 유용한 정보가 많이 있습니다. CPU가 더 빨라질로
속도 당신이 바로 그 파이썬에있어
가 느린 C.보다는 단지 일정한 요인 당신은 OS 개발 동적 언어 이외의 많은 분야에서 것을 볼 수있다는 점점 더 인기를 끌고있다 .
운영 체제 개발은 다르지 않으므로 일반적으로 C로 작성된 운영 체제의 일부를 Python이 대체하는 많은 실제 예제를 찾을 수 있습니다. 예를 들어 fusepy은 Python으로 파일 시스템을 구현할 수있게합니다 .
미안하지만 그게 무슨 뜻입니까? –
@NwaiwuGilbert 이는 Python이 운영 체제 개발을위한 도구를 제공 할 수있는 충분한 수준의 언어가 아니라는 것을 의미합니다. – Patashu
아니요 생각해보십시오. 파이썬이 속도 X로 실행되는 프로세서의 C보다 느린 경우, 속도 2X로 실행되는 프로세서의 파이썬과 C의 속도에 대해 어떻게 말할 수 있습니까?
그렇다면 ... 은 동적 언어로 운영 체제를 작성합니다. 사람들도 그렇습니다. 일단 인터프리터를 부트 스트랩합니다. 그러나 이것이 주류가되지는 않을 것입니다. 적어도 언제든지. 왜냐하면 : 주류 운영체제는 이미 ... 음 ... 주류입니다. 사람들은 새 프로세서에서 모든 처리 능력을 사용하여 ... 음 ... 처리하는 것을 원합니다. 토대를 제공하는 것이 아니라 ... 음 ... 처리하는 것.
- 1. Python의 difflib SequenceMatcher 속도 향상
- 2. 게임 개발에서의 전투 효과 처리
- 3. FASM 운영체제
- 4. Python의 Twython에서 Twitter의 속도 제한을 수용합니다.
- 5. betweenness로 정렬 할 때 igraph python의 속도
- 6. '당신은 어떤 스택을 사용합니까?' 웹 개발에서의 평균?
- 7. 휴대 전화 운영체제
- 8. 파이썬에서 ip로부터 운영체제 찾기
- 9. 첫 번째 운영체제 빌드
- 10. 운영체제 : 프로세스 ID 구현
- 11. 운영체제 스케줄링 알고리즘
- 12. RedHawk에서 지원하는 대상 운영체제
- 13. Android : 앱에서 운영체제 업데이트
- 14. 경량 Linux 운영체제
- 15. 각도기 - 운영체제 반환
- 16. 리눅스 운영체제 (Ubuntu)
- 17. OpenGL과 운영체제 사이의 간격을 좁히기
- 18. 운영체제 : 가상 메모리의 크기는 얼마입니까?
- 19. 운영체제 버전에 기반한 조건부 메소드
- 20. 클라이언트 컴퓨터 Python의 다운로드 및 업로드 속도 결정
- 21. Google 애플 리케이션 엔진에서 실행되는 Python의 추적 속도 문제
- 22. 웹 UI 테스팅 - 크로스 브라우저 및 운영체제
- 23. 서버 운영체제 Windows XP를 우분투로 변환
- 24. 운영체제 독립적 인 장소에서 파이썬으로 설정 파일로드하기
- 25. 운영체제 전체 설명자 표 컴파일 오류
- 26. 전체 Android 운영체제 코드를 포크하는 방법은 무엇입니까?
- 27. 수정 된 리눅스 운영체제 버전 제어
- 28. 자바 스크립트를 통해 모바일 운영체제 검색
- 29. 운영체제 기반 C++의 조건부 컴파일
- 30. URL의 운영체제 이름과 버전을 찾는 방법은 무엇입니까?
프로세서 속도를 높이면 C가 더 빨라지지 않습니까? – Dogbert
그건 분명히 그렇습니다. 어셈블리가 C보다 빠르지 만, 어셈블리에 OS를 쓰는 사람은 없습니다. –