던져 올림! 라즈베리 파이에서 DOS 실행
CPU 아키텍처가 다르다는 것은 라즈베리 파이에서 DOS를 실행하는 것이 쉽지는 않지만 그렇게 번거롭지는 않다는 것을 의미합니다.
FreeDOS는 누구에게나 친숙할 수 있습니다. 이는 DOS용 완벽하고 무료이며 잘 호환되는 운영 체제로 일부 오래된 DOS 게임이나 상용 소프트웨어를 실행할 수 있으며 임베디드 응용 프로그램도 개발할 수 있습니다. MS-DOS에서 실행될 수 있는 모든 프로그램은 FreeDOS에서도 실행될 수 있습니다.
FreeDOS의 창시자이자 프로젝트 코디네이터로서 많은 사용자가 내부자로서 나에게 질문을 할 것입니다. 그리고 제가 가장 자주 받는 질문은 "FreeDOS를 Raspberry Pi에서 실행할 수 있나요?"입니다.
이 질문은 놀라운 일이 아닙니다. 결국 Linux는 Raspberry Pi에서 매우 잘 실행될 수 있으며 FreeDOS는 Linux보다 적은 리소스를 차지하는 오래된 운영 체제입니다. 그러면 FreeDOS를 Raspberry Pi에서 실행할 수 없는 이유는 무엇입니까?간단히 말하면. CPU 아키텍처로 인해 FreeDOS는 Raspberry Pi에서 독립적으로 실행될 수 없습니다. 다른 DOS 유사 시스템과 마찬가지로 FreeDOS에는 기본 런타임 서비스를 제공하기 위해 Intel x86 아키텍처 CPU와 BIOS가 필요합니다. Raspberry Pi는 Intel CPU와 바이너리 호환되지 않고 BIOS도 없는 ARM 아키텍처 CPU에서 실행됩니다. 따라서 Raspberry Pi는 하드웨어 수준에서 FreeDOS를 지원하지 않습니다.
그러나 PC 에뮬레이터를 통해 여전히 Raspberry Pi에서 FreeDOS를 실행할 수 있습니다. 비록 이것이 약간 부족할 수 있지만 여전히 Raspberry Pi에서 FreeDOS를 실행할 수 있는 방법입니다.
대부분의 사람들에게 이것은 단지 개인적인 취향의 문제일 뿐입니다. 저는 DOS 게임 및 기타 프로그램을 실행하기 위해 FreeDOS를 사용하는 것을 좋아합니다. 완전한 DOS 시스템을 사용하면 DOSBox보다 더 나은 유연성과 제어 가능성을 경험할 수 있습니다. 저는 게임용으로만 DOSBox를 사용하고 그 외에는 전체 FreeDOS를 선택합니다.
작년에 Linux 시스템에서 DOS 프로그램을 실행하는 방법에 대한 기사를 작성할 때 QEMU를 사용했습니다. QEMU를 사용하여 Raspberry Pi에 FreeDOS를 설치하고 실행하는 단계는 기본적으로 다른 GNOME 기반 시스템과 동일합니다. 큰 차이.
QEMU에서는 다양한 구성 요소를 추가하여 가상 머신을 구축해야 합니다. 먼저 DOS를 설치하고 실행할 가상 디스크 이미지를 지정하고, qemu-img 명령을 통해 가상 디스크 이미지를 생성합니다. FreeDOS는 많은 공간을 필요로 하지 않으므로 200MB의 가상 디스크만 생성했습니다:
으아아아
VMware나 VirtualBox와 같은 PC 에뮬레이터와 달리 QEMU를 사용하면 가상 머신을 구축하기 위해 다양한 구성 요소를 추가해야 하지만 조금 번거롭기는 하지만 어렵지 않습니다. Raspberry Pi에서 QEMU를 사용하여 FreeDOS를 설치하기 위해 다음 매개변수를 사용했습니다.으아아아
내 다른 기사에서 이러한 명령에 대한 전체 소개를 찾을 수 있습니다. 간단히 말해서 위 명령은 Intel i386 호환 가상 머신을 지정하고 16MB의 메모리, 영어 입력 키보드, 시스템 시간을 기반으로 한 실시간 시계, 사운드 카드, 음악 카드 및 VGA 카드를 할당합니다. freedos.img 파일은 첫 번째 하드 드라이브(C:)로 지정되고, FD12CD.iso 이미지는 CD-ROM(D:) 드라이브로 지정됩니다. QEMU는 D:의 CD-ROM에서 부팅하도록 구성됩니다.FreeDOS 1.2를 쉽게 설치하려면 프롬프트를 따르기만 하면 됩니다. 하지만 microSD 카드는 I/O가 많을 경우 속도가 느려지므로 운영 체제를 설치하는 데 오랜 시간이 걸립니다.
你的运行情况取决于使用哪一种 microSD 卡。我用的是 SanDisk Ultra 64GB microSDXC UHS-I U1A1 ,其中 U1 这种型号专用于支持 1080p 的视频录制(例如 GoPro),它的最低串行写速度能够达到 10MB/s。相比之下,V60 型号专用于 4K 视频录制,最低连续写入速度能达到 60MB/s。如果你的树莓派使用的是 V60 的 microSD 卡甚至是 V30(也能达到 30MB/s),你就能明显看到它的 I/O 性能会比我的好。
FreeDOS 安装好之后,你可以直接从 C: 进行启动。只需要按照下面的命令用 -boot order=c 来指定 QEMU 的启动顺序即可:
qemu-system-i386 -m 16 -k en-us -rtc base=localtime -soundhw sb16,adlib -device cirrus-vga -hda freedos.img -cdrom FD12CD.iso -boot order=c
只要树莓派的 QEMU 上安装了 FreeDOS,就不会出现明显的性能问题。例如游戏通常在每一关开始的时候会加载地图、怪物、声音等一系列的数据,尽管这些内容需要加载一段时间,但在正常玩的时候并没有出现性能不足的现象。
FreeDOS 1.2 自带了很多游戏以及其它应用软件,可以使用 FDIMPLES 包管理程序来安装它们。FreeDOS 1.2 里面我最喜欢的是一款叫 WING 的太空射击游戏,让人想起经典的街机游戏 Galaga(WING 就是 Wing Is Not Galaga 的递归缩写词)。
As-Easy-As 是我最喜欢的一个 DOS 应用程序,作为 20 世纪八九十年代流行的电子表格程序,它和当时的 Lotus 1-2-3 以及现在的 Microsoft Excel、LibreOffice Calc 一样具有强大的威力。As-Easy-As 和 Lotus 1-2-3 都将数据保存为 WKS 文件,现在新版本的 Microsoft Excel 已经无法读取这种文件了,而 LibreOffice Calc 视兼容性而定有可能支持。鉴于 As-Easy-As 的初始版本是一个共享软件,TRIUS 仍然为 As-Easy-As 5.7 免费提供激活码。
我也非常喜欢 GNU Emacs 编辑器,FreeDOS 也自带了一个叫 Freemacs 的类 Emacs 的文本编辑器。它比 FreeDOS 默认的 FreeDOS Edit 编辑器更强大,也能带来 GNU Emacs 的体验。如果你也需要,可以在 FreeDOS 1.2 中通过FDIMPLES包管理程序来安装。
即使树莓派在硬件上不支持 DOS,但是在模拟器的帮助下,DOS 还是能够在树莓派上运行。得益于 QEMU PC 模拟器,一些经典的 DOS 游戏和 DOS 应用程序能够运行在树莓派上。在执行磁盘 I/O ,尤其是大量密集操作(例如写入大量数据)的时候,性能可能会受到轻微的影响。当你使用 QEMU 并且在虚拟机里安装好 FreeDOS 之后,你就可以尽情享受经典的 DOS 程序了。
위 내용은 던져 올림! 라즈베리 파이에서 DOS 실행의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Web.xml 파일을 열려면 다음 방법을 사용할 수 있습니다. 텍스트 편집기 (예 : 메모장 또는 문자 메시지)를 사용하여 통합 개발 환경 (예 : Eclipse 또는 NetBeans)을 사용하여 명령을 편집하십시오 (Windows : Notepad Web.xml; Mac/Linux : Open -A Texted web.xml).

언어의 멀티 스레딩은 프로그램 효율성을 크게 향상시킬 수 있습니다. C 언어에서 멀티 스레딩을 구현하는 4 가지 주요 방법이 있습니다. 독립 프로세스 생성 : 여러 독립적으로 실행되는 프로세스 생성, 각 프로세스에는 자체 메모리 공간이 있습니다. 의사-다일리트 레딩 : 동일한 메모리 공간을 공유하고 교대로 실행하는 프로세스에서 여러 실행 스트림을 만듭니다. 멀티 스레드 라이브러리 : PTHREADS와 같은 멀티 스레드 라이브러리를 사용하여 스레드를 만들고 관리하여 풍부한 스레드 작동 기능을 제공합니다. COROUTINE : 작업을 작은 하위 작업으로 나누고 차례로 실행하는 가벼운 다중 스레드 구현.

Linux는 서버 관리, 임베디드 시스템 및 데스크탑 환경으로 사용되는 것이 가장 좋습니다. 1) 서버 관리에서 Linux는 웹 사이트, 데이터베이스 및 응용 프로그램을 호스팅하는 데 사용되어 안정성과 안정성을 제공합니다. 2) 임베디드 시스템에서 Linux는 유연성과 안정성으로 인해 스마트 홈 및 자동차 전자 시스템에서 널리 사용됩니다. 3) 데스크탑 환경에서 Linux는 풍부한 응용 프로그램과 효율적인 성능을 제공합니다.

Root로 MySQL에 로그인 할 수없는 주된 이유는 권한 문제, 구성 파일 오류, 암호 일관성이 없음, 소켓 파일 문제 또는 방화벽 차단입니다. 솔루션에는 다음이 포함됩니다. 구성 파일의 BAND-ADDRESS 매개 변수가 올바르게 구성되어 있는지 확인하십시오. 루트 사용자 권한이 수정 또는 삭제되어 재설정되었는지 확인하십시오. 케이스 및 특수 문자를 포함하여 비밀번호가 정확한지 확인하십시오. 소켓 파일 권한 설정 및 경로를 확인하십시오. 방화벽이 MySQL 서버에 연결되는지 확인하십시오.

Lua-Libuv라는 프로젝트를 개발했으며 내 경험을 공유하게되어 기쁩니다. 이 프로젝트의 원래 의도는 Libuv (C로 작성된 비동기 I/O 라이브러리)를 사용하여 C 언어를 심층적으로 배울 필요없이 간단한 HTTP 서버를 구축하는 방법을 탐색하는 것입니다. Chatgpt의 도움으로 Http.c의 기본 코드를 완료했습니다. 지속적인 연결을 다룰 때 적절한 시간에 연결을 닫고 리소스를 자유롭게하는 것을 성공적으로 구현했습니다. 처음에는 연결을 닫아 기본 프로그램을 종료 한 간단한 서버를 만들려고했지만 문제가있었습니다. 스트리밍을 사용하여 데이터 블록을 전송하려고 시도했지만 작동하는 동안 메인 스레드가 차단됩니다. 결국, 나는 내 목표가 C 언어를 깊이 배우는 것이 아니기 때문에이 접근법을 포기하기로 결정했습니다. 마지막으로, 나는

C 언어 조건부 컴파일은 컴파일 시간 조건을 기반으로 코드 블록을 선택적으로 컴파일하는 메커니즘입니다. 입문 방법에는 다음이 포함됩니다. #IF 및 #ELSE 지시문을 사용하여 조건에 따라 코드 블록을 선택합니다. 일반적으로 사용되는 조건부 표현에는 STDC, _WIN32 및 LINUX가 포함됩니다. 실제 사례 : 운영 체제에 따라 다른 메시지를 인쇄합니다. 시스템의 숫자 수에 따라 다른 데이터 유형을 사용하십시오. 컴파일러에 따라 다른 헤더 파일이 지원됩니다. 조건부 컴파일은 코드의 휴대 성과 유연성을 향상시켜 컴파일러, 운영 체제 및 CPU 아키텍처 변경에 적응할 수 있도록합니다.

1.0.1 서문이 프로젝트 (코드 및 댓글 포함)는 내 스스로 가르침 녹에서 기록되었습니다. 부정확하거나 불분명 한 진술이있을 수 있습니다. 사과하십시오. 당신이 그것으로부터 혜택을받는다면, 그것은 더 좋습니다. 1.0.2 Rustrust가 신뢰할 수 있고 효율적인 이유는 무엇입니까? Rust는 C 및 C를 유사한 성능으로 대체 할 수 있지만 보안이 높을 수 있으며 C 및 C와 같은 오류를 확인하기 위해 빈번한 재 컴파일이 필요하지 않습니다. 주요 장점에는 메모리 보안 (널 포인터가 해석, 매달려있는 포인터 및 데이터 경합 방지)이 포함됩니다. 스레드-안전 (실행하기 전에 다중 스레드 코드가 안전한지 확인하십시오). 정의되지 않은 동작을 피하십시오 (예 : 경계 밖으로 배열, 발기 국가화되지 않은 변수 또는 자유 메모리에 대한 액세스). Rust는 제네릭과 같은 현대 언어 기능을 제공합니다

MySQL 시작이 실패하는 데는 여러 가지 이유가 있으며 오류 로그를 확인하여 진단 할 수 있습니다. 일반적인 원인에는 포트 충돌 (포트 점유 체크 및 구성 수정), 권한 문제 (서비스 실행 사용자 권한 실행), 구성 파일 오류 (파라미터 설정 확인), 데이터 디렉토리 손상 (데이터 복원 또는 테이블 공간 재건), IBDATA 테이블 공간 문제 (IBDATA1 파일 확인), 플러그로드 (확인 오류 로그)가 포함됩니다. 문제를 해결할 때 오류 로그를 기반으로 문제를 분석하고 문제의 근본 원인을 찾고 문제를 방지하고 해결하기 위해 정기적으로 데이터를 백업하는 습관을 개발해야합니다.
