도스,DOS

MS-DOS MS도스,MS-DOS? { https://namu.wiki/w/MS-DOS }
PC DOS - IBM OEM version of MS-DOS
DR-DOS - incl. Novell DOS, OpenDOS
FreeDOS - 프리도스,FreeDOS? Bing:freedos Ggl:freedos

Compatible: Windows 9x, ReactOS

NTVDM - DOS for Windows NT?
DOSEMU - DOS for Linux?
DOSBox

도스용프로그램
{
디제이지피피,djgpp
}

DOS_extender =,DOS_extender . DOS_extender
{
DOS/4GW -
DOS/32 - DOS/4GW를 대체하기 위함, free, opensource



}

VCPI virtual control program interface
DPMI DOS protected mode interface { https://en.wikipedia.org/wiki/CWSDPMI }

expanded memory EMS


1. 도스 멀티태스킹


태스크스위칭을 위한 소프트웨어로는
DESQview
IBM TopView
Windows 초기 버전
Concurrent DOS 4.1 with GEM (GEM desktop environment, Graphics Environment Manager)
MS-DOS 4.0 (4.01과 다름)
DOS Plus
가 있었다.

TSR같은 테크닉이 쓰이기도 함.
Borland Sidekick?

이야기 5,3은 다운로드 도중 다른 일을 하는 것을 지원했다.

2. DOS API

from WpEn:DOS_API {
대부분 int 21h.
DOS extender + DPMI가 있으면 32비트에서도 DOS API 사용 가능.

처음에는 CP/M 호환으로 시작되었다. (86-DOS, MS-DOS 1.0)
파일은 FCB,file_control_block으로 액세스.
}

3. DOS Subsystem for Linux

5. 특수 파일

파일,file > filename / file_name

5.2. AUTOEXEC.BAT


6. 자료구조

6.1. FCB

File_Control_Block =,File_Control_Block . File_Control_Block =,FCB .
file control block (FCB): 열린 파일,file에 대한 정보가 저장된 data_structure.

CP/M 에서 유래?


bmks
The MS-DOS Encyclopedia / Appendix G: File Control Block (FCB) Structure
https://www.pcjs.org/documents/books/mspl13/msdos/encyclopedia/appendix-g/

//foldoc:
개수는 CONFIG.SYS 에서 FCBS=x,y 로 지정.
x는 한번에 MS-DOS가 열 수 있는 파일 개수. 1~255(포함) 범위이며 기본값은 4.
y는 모든 x개가 사용중일 경우 닫을 파일 개수. (DOS 5.0 이후에는 필요 없음)




7. DOS(-specific) file formats


DOS_file_format

7.1. DOS executable file format

.SYS - driver ? // 이것도 executable로 분류? or 따로?
.COM
.EXE - MZ ? (Windows 는 PE ?) 였나... 가물.. 둘다 처음부분에 MZ로 magic number? header가 있고 PE portable_executable 는 Windows 전용이었나? chk
저걸 DOS에서 실행하면 This program cannot be run in DOS mode. ?를 출력해주는 것의 이름이 뭐였지


8. 문제점/단점/비판/....



그래서 x86이 i386부터 보호모드,protected_mode 4GB까지 사용 가능하게 되었음에도 직접 제대로(? 정확히 rewrite) 읽고 쓰지 못하고,
DOS_extender { WtEn:DOS_extender WpEn:DOS_extender "도스 익스텐더" Naver:도스 익스텐더 Ggl:도스 익스텐더 Bing:도스 익스텐더 "DOS extender" Ggl:DOS extender }
오버레이,overlay { WtEn:overlay "도스 오버레이" Naver:도스 오버레이 Ggl:도스 오버레이 Bing:도스 오버레이 "DOS overlay" Ggl:DOS overlay ... }
....(and?) 등의 복잡한/indirect/clumsy번거로운?/.... 방법,method을 사용해야 큰 메모리를 쓸 수 있었던...??? chk
이것은 응용프로그램들이 IBM/PC architecture에 의존적이기 때문? chk
(사실 dos application들은 속도를 위해 DOS가 제공하는 API를 의도적으로 무시하고 H/W에 (BIOS, I/O port, ....에) 직접 접근(direct access)하는 경우가 많았다 - 이것은 호환성 문제를 더 악화시킨?)
그러고보니 H/W에 대한 권한 제어를 손 놓고 있었던것도 DOS의 문제점/단점 중 하나.
(이건 DOS 설계 잘못이라기보다는 당시 PC XT/AT 이때쯤의 PC architecture 자체의 문제.)
요새의 OS들은 거의 모두 safety때문에
ring ( WtEn:ring#Noun = https://en.wiktionary.org/wiki/ring#Noun
  1. "(computing theory) A hierarchical level of privilege in a computer system, usually at hardware level, used to protect data and functionality (also protection_ring)." )
capability-based_security =,capability-based_security . capability-based_security { WtEn:capability-based_security }
...
등을 적극 활용하여 program과 kernel의 권한 차이를 명확히 한다. 당시에는 그런 거 없었다.

9. DOS memory

도스_메모리 or 도스메모리 DOS_memory



Mastering DOS Memory, Part 1: Into Memory Managers, resource conserving Drivers and TSRs - YouTube
https://www.youtube.com/watch?v=oD_m6q7uLu4

Mastering DOS Memory, Part 2: 960K Conventional Memory for DOS! - YouTube
https://www.youtube.com/watch?v=Nbw5klso-VY