Windows.
마이크로소프트에서 만들고 있는 그래픽 사용자 인터페이스(GUI) 기반 운영체제. 텍스트 기반의 MS-DOS로 개인용 컴퓨터 운영체제 시장을 석권한 MS가 이를 기반으로 DOS 위에서 돌아가는 GUI 쉘을 만든 것이 시초다. 사실 운영체제가 텍스트 기반이냐 GUI 기반이냐 하는 말은 잘못된 면이 있다. 이는 사용자가 운영체제와 의사소통을 하는 '쉘(shell)' 부분이지 결코 운영체제 그 자체가 아니다. 예를 들어, 지금도 윈도우에는 명령 프롬프트, 즉 과거의 MS-DOS와 거의 비슷한 명령어 입력 방식 쉘이 있다.
영문 이름은 복수형인 'Windows'이므로 '윈도우즈'가 맞겠지만 MS는 한글 이름으로는 '윈도우'를 쓰고 있다. 표준 외국어 표기법으로는 '윈도'가 맞지만 MS에서 상품 이름으로 '윈도우'를 쓰고 있으므로 여기서는 고유명사 차원에서 '윈도우'를 표제로 하고 있다.
윈도우가 처음 나왔을 때의 두 가지 가장 큰 특징은 하나는 GUI이고, 다른 하나는 멀티태스킹이다. MS-DOS는 기본적으로 한 번에 하나의 프로세스만 돌릴 수 있다. 인터럽트 기능을 사용해서 멀티태스킹을 약간 흉내낸 쉘이나 프로그램도 있었는데, 윈도우는 이를 약간 더 잘 지원했다. 그러나 초기에는 협력형 멀티태스킹이었다. 즉 프로세스가 시스템 자원을 얻은 다음 쏘고 돌려줘야 다음 프로세스가 이를 받을 수 있으며, 프로그램을 잘못 설계했거나 버그가 있으면[1] 자원을 돌려주지 않고 붙들고 있게 되며 전체 프로세스가 얼어버리는 원인이 된다.
윈도우는 처음에는 아예 다른 두 가지 운영체제를 아울러 이르는 말이었다. 하나는 MS-DOS 위에서 돌아가는 방식의 윈도우로, 처음에는 그저 GUI를 제공하는 쉘이었다. 약간의 멀티태스킹 기능을 제공하긴 했지만 협력형 멀티태스킹이었기 때문에 어떤 프로그램 하나 때문에 전체가 멎어버리는 일은 다반사였다. 윈도우 3까지는 MS-DOS로 컴퓨터를 시동시키고, DOS에서 윈도우 프로그램을 실행시켜서 쓰는 것이다.
윈도우 95가 출시되면서 여전히 MS-DOS의 잔재는 남아 있었지만 본격적인 운영체제의 구실을 시작했고, 뭔가 어설프지만 선점형 멀티태스킹도 지원하기 시작했다. 한편으로는 서버 시장을 주요한 타겟으로 한 윈도우 NT가 있었다. 윈도우 NT는 DEC에서 VMS 개발을 지휘한 데이빗 커틀러[2]를 영입해서 완전히 새로 만든 운영체제다. 따라서 두 체제의 실행 파일은 커널 자체가 다르기 때문에 바이너리 호환이 되지 않았다.
MS-DOS 기반은 윈도우 95 → 윈도우 98 → 윈도우 밀레니엄으로 발전해 왔고, NT 기반은 윈도우 NT 3.0 → 윈도우 NT 3.5 → 윈도우 NT 4.0 → 윈도우2000으로 발전했다. 윈도우 2000부터는 NT 계열을 개인용으로 사용하는 사람들이 상당히 늘어났고, 결국 XP에 와서 멀티태스킹도 불완전하고 커널 안정성도 떨어지는 MS-DOS 기반을 버리고 NT 기반으로 윈도우 운영체제를 통합했다.