현재 위치 - 법률 상담 무료 플랫폼 - 특허 조회 - 운영 체제의 몇 가지 개념적 문제
운영 체제의 몇 가지 개념적 문제
운영 체제는 컴퓨터 하드웨어 및 소프트웨어 리소스를 관리하는 프로그램이자 컴퓨터 시스템의 핵심이자 초석입니다. 운영 체제는 메모리 관리 및 구성, 시스템 자원 공급 및 수요 우선 순위 결정, 입출력 장치 제어, 네트워크 운영, 파일 시스템 관리 등의 기본 트랜잭션을 담당합니다. 운영 체제는 또한 사용자에게 시스템과 상호 작용하는 운영 인터페이스를 제공합니다.

운영 체제의 유형은 매우 다양합니다. 서로 다른 기계에 설치된 운영 체제는 휴대폰의 임베디드 시스템에서 슈퍼컴퓨터의 대형 운영 체제에 이르기까지 간단하거나 복잡할 수 있습니다. 많은 운영 체제 제조업체는 적용 범위에 대해 서로 다른 정의를 가지고 있습니다. 예를 들어, 그래픽 사용자 인터페이스가 통합된 운영 체제도 있고, 텍스트 인터페이스만 사용하는 운영 체제도 있고, 그래픽 인터페이스를 불필요한 어플리케이션으로 취급하는 운영 체제도 있습니다.

운영 체제 이론은 컴퓨터 과학에서 오랜 역사를 가진 활발한 분야이다. 운영 체제의 설계와 구현은 소프트웨어 산업의 기초이자 핵심이다.

최신 운영 체제에는 일반적으로 사용되는 그래픽 장치의 그래픽 사용자 인터페이스가 있으며 마우스나 터치 패널과 같은 키보드와 다른 입력 장치를 추가합니다. 구형 OS 또는 성능 지향 서버에는 일반적으로 이렇게 친숙한 인터페이스가 없으며 명령줄 인터페이스 (CLI) 와 키보드를 입력 장치로 사용합니다. 위의 두 인터페이스는 실제로 shells 라고 하며, 버튼 누르기 또는 명령 프롬프트에 명령 입력과 같은 사용자 명령을 수락하고 처리하는 기능을 합니다.

설치할 운영 체제를 선택하는 것은 일반적으로 하드웨어 아키텍처와 매우 관련이 있습니다. Linux 와 BSD 만 거의 모든 하드웨어 아키텍처에서 실행할 수 있지만 Windows NT 는 DEC Alpha 와 MIPS Magnum 으로만 마이그레이션할 수 있습니다. 1990 년대 초반 PC 선택은 Windows 제품군, 클래스 Unix 제품군, Linux 로 제한되었고, 지금까지도 Linux 와 Mac OS X 가 가장 중요한 대안으로 남아 있습니다.

메인프레임 및 임베디드 시스템은 다양한 운영 체제를 사용합니다. 최근 많은 호스트가 다른 플랫폼의 자원을 즐기기 위해 Java 와 Linux 를 지원하기 시작했다. 최근 센서 네트워크용 Berkeley Tiny OS 에서 Microsoft Office 를 실행할 수 있는 Windows CE 에 이르기까지 다양한 사상 유파가 임베디드 시스템에 대해 열띤 논쟁을 벌였다.

개인용 컴퓨터: 애플 매킨토시 컴퓨터-애플 OS X 컴퓨터, 윈도우 시스템 (인텔 플랫폼만 해당), 리눅스, BSD.

IBM 호환 PC-Windows, Linux, BSD 및 Mac OS X (비공식 지원).

호스트: Burroughs MCP-B5000, IBM OS/360-IBM System/360, univac exec 8-univac1/kloc-

임베디드 시스템: 임베디드 시스템은 VxWorks, eCos, Symbian OS, Palm OS 등 매우 광범위한 운영 체제와 Linux 또는 기타 운영 체제의 일부 씬 버전을 사용합니다. 경우에 따라 OS 는 고정 어플리케이션 소프트웨어가 내장된 거대한 범용 프로그램입니다. 가장 간단한 임베디드 시스템 중 상당수에서 OS 란 위의 유일한 응용 프로그램을 의미합니다.

클래스 Unix 시스템: 클래스 Unix 제품군은 시스템 V, BSD, Linux 등을 포함한 다양한 OS 를 의미합니다. 유닉스는 오픈 그룹의 등록 상표이기 때문에 이 회사가 정의한 행동을 준수하는 운영 체제를 가리킨다. 클래스 Unix 는 일반적으로 원본 Unix 보다 더 많은 기능을 포함하는 운영 체제를 나타냅니다.

유닉스 시스템은 다양한 프로세서 아키텍처에서 실행할 수 있으며 대학이나 엔지니어링 응용 프로그램 워크스테이션과 같은 서버 시스템에서 활용도가 높습니다. Unix 와 BSD 와 같은 자유 소프트웨어의 유닉스 변종은 최근 점점 더 유행하고 있으며, Ubuntu 시스템과 같은 개인용 데스크탑 컴퓨터 시장에서도 큰 성과를 거두었습니다.

HP 의 HP-UX 및 IBM 의 AIX 와 같은 일부 유닉스 변종은 자체 하드웨어 제품만을 위해 설계되었으며, SUN 의 Solaris 는 자체 하드웨어나 x86 컴퓨터에 설치할 수 있습니다. 애플 컴퓨터의 Mac OS X 는 NeXTSTEP, Mach, FreeBSD*** 에서 파생된 마이크로코어 BSD 시스템으로 애플 컴퓨터의 초기 비유닉스 MAC OS 를 대체했다.

몇 년간의 노력 끝에 무료 오픈 소스 유닉스 시스템이 특허 소프트웨어의 전문 분야를 잠식하고 있다. 예를 들어, 컴퓨터 애니메이션 운영 거물인 ——SGI 의 IRIX 시스템은 Linux 제품군 및 Bell Laboratory R&D 팀이 설계한 Project No.9 및 Inferno 시스템으로 대체되었으며, 모두 중앙화된 표현 환경에 사용되었습니다. 다른 유닉스 시스템과 달리 내장 그래픽 사용자 인터페이스를 선택합니다. 계획 9 는 처음 출시되었을 때 자유 소프트웨어가 아니기 때문에 유행하지 않습니다. 이후 무료 오픈 소스 소프트웨어 라이센스 Lucent Public License 가 출시되면서 많은 사용자와 커뮤니티가 생겨났습니다. Inferno 는 이미 비타 사성룡에 판매되어 GPL/MIT 허가 하에 발행되었습니다.

현재 전 세계 500 대 컴퓨터 중 472 대는 리눅스, 6 대는 윈도, 나머지는 BSD 등 유닉스를 사용하고 있다.

Microsoft Windows: Microsoft Windows 시리즈 운영 체제는 Microsoft 가 IBM 기계를 위해 설계한 MS-DOS 기반 그래픽 운영 체제입니다. 현재 Windows 시스템 (예: Windows 2000, Windows XP) 은 현대 Windows NT 커널에서 만들어졌습니다. NT 커널은 OS/2 와 OpenVMS 에서 빌려온 것이다. Windows 는 32 비트 및 64 비트 Intel 및 AMD 프로세서에서 실행할 수 있지만 이전 버전은 dec 알파, MIPS 및 PowerPC 아키텍처에서도 실행할 수 있습니다. 오픈 소스 운영 체제에 대한 관심이 높아지면서 Windows 의 시장 점유율이 하락했지만, 2004 년에는 Windows 운영 체제가 전 세계 데스크톱 운영 체제의 90% 를 차지했습니다. [3]

Windows 시스템은 하위 계층 및 중간 계층 서버에도 사용되며 웹 서비스의 데이터베이스 서비스 등의 일부 기능을 지원합니다. 최근 Microsoft 는 Windows 가 대규모 엔터프라이즈 프로그램을 실행할 수 있는 능력을 갖추도록 많은 R&D 자금을 투자했습니다.

애플 Mac OS: Mac OS 는 애플 Macintosh 시리즈 컴퓨터에서 실행되는 운영 체제입니다. Mac OS 는 비즈니스 분야 최초의 성공적인 그래픽 사용자 인터페이스입니다.

Chrome OS: Google Chrome OS 는 Google 브라우저 Chrome 의 Linux 커널을 기반으로 하는 구글의 경량 컴퓨터 운영 체제 프로젝트입니다.

프로세스 관리: 데몬과 응용 프로그램 모두 프로세스를 기준으로 실행됩니다. 폰 노이만 구조를 사용하여 컴퓨터를 구축하는 경우 CPU 당 한 번에 하나의 프로세스만 실행할 수 있습니다. 초기 OS (예: DOS) 는 어떤 프로그램도 이러한 제한을 깨는 것을 허용하지 않았습니다. DOS 는 동시에 하나의 프로세스만 실행합니다 (DOS 가 종료 및 일시 중지 (TSR) 를 기다릴 수 있다고 주장하지만 이 문제를 부분적으로 해결하기 어렵습니다). 최신 운영 체제는 CPU 가 하나만 있어도 멀티태스킹 기능을 활용하여 여러 프로세스를 동시에 실행할 수 있습니다. 프로세스 관리는 운영 체제가 복잡한 프로세스를 조정하는 기능입니다.

대부분의 컴퓨터에는 하나의 중앙 처리 장치만 포함되어 있기 때문에 단일 코어에서는 다중 프로세스가 빠른 전환 프로세스일 뿐 각 프로세스를 실행할 수 있습니다. 멀티코어 또는 멀티프로세서의 경우 모든 프로세스가 많은 공동 작업 기술을 통해 각 프로세서 또는 코어에서 변환됩니다. 동시에 실행되는 프로세스가 많을수록 각 프로세스에 할당할 수 있는 시간 비율이 줄어듭니다. 많은 OS 는 간헐적인 오디오나 마우스 이탈 (시스템 충돌이라고 함) 과 같은 문제를 겪게 됩니다. OS 는 자체 Hypervisor 만 실행할 수 있고 시스템 리소스는 고갈되고 다른 사용자나 하드웨어 프로그램은 실행할 수 없는 상태입니다. 프로세스 관리는 일반적으로 시분할 개념을 실천하며, 대부분의 운영 체제는 서로 다른 권한 수준을 지정하여 각 프로세스의 시분할 비율을 변경할 수 있습니다. 특권이 높을수록 운영 우선 순위가 높아지고 단위 시간의 비율도 높아진다. 대화형 OS 는 사용자와 직접 상호 작용하는 프로세스가 더 높은 권한 값을 가질 수 있도록 어느 정도 피드백 메커니즘을 제공합니다.

프로세스 관리 외에도 OS 는 프로세스 간 통신 (IPC), 프로세스 이상 종료, 교착 상태 감지 및 처리와 같은 문제를 담당합니다.

프로세스 아래에는 여전히 스레드 실행 문제가 있지만 대부분의 OS 는 스레드 실행 문제를 처리하지 않습니다. 일반적으로 OS 는 사용자가 직접 조작하거나 가상 시스템의 관리 메커니즘을 통해 실행 스레드 간의 상호 작용을 제어할 수 있는 API 세트만 제공합니다.

메모리 관리: 파킨슨의 법칙에 따르면, "프로그램에 더 많은 메모리를 주면, 프로그램은 최선을 다할 것이다." 그래서 프로그래머들은 보통 시스템이 무한하고 무한한 메모리를 주길 바란다. 대부분의 최신 컴퓨터 메모리 아키텍처는 가장 빠르고 적은 레지스터가 1 위를 차지하고 캐시, 메모리, 속도가 가장 느린 디스크 스토리지 장치가 뒤를 이었다. 운영 체제의 메모리 관리는 사용 가능한 메모리 공간을 검색하고, 메모리 공간을 구성 및 확보하며, 메모리 및 저속 저장 장치의 내용을 교환하는 기능을 제공합니다. 가상 메모리 관리라고도 하는 이 기능은 프로세스당 사용 가능한 메모리 공간을 크게 증가시킵니다 (실제 RAM 양이 이보다 훨씬 적더라도 일반적으로 4GB). 그러나 운영 효율성을 약간 낮추는 단점도 있어 심각한 경우에는 프로세스 붕괴까지 초래할 수 있다.

메모리 관리의 또 다른 중요한 활동은 CPU 의 도움을 받아 가상 위치를 관리하는 것입니다. 메모리 장치에 여러 프로세스가 동시에 저장되어 있는 경우 운영 체제는 여러 프로토콜을 통해 제어 범위 내에서 실행되어 액세스할 수 있는 메모리 범위를 제한하지 않는 한 메모리 내용을 서로 방해하지 않도록 해야 합니다. 파티션 메모리 공간은 목표를 달성할 수 있습니다. 각 프로세스는 전체 메모리 공간 (0 에서 최대 메모리 공간까지) 이 자체 구성되어 있음을 알 수 있습니다 (물론 일부 위치는 OS 에 예약되어 액세스가 허용되지 않음). CPU 는 가상 위치와 실제 메모리 위치를 비교하기 위해 여러 테이블을 미리 저장합니다. 이 방법을 페이징 구성이라고 합니다.

또한 운영 체제는 각 프로세스에 대해 별도의 위치 공간을 만들어 프로세스에 의해 사용되는 모든 메모리를 한 번에 쉽게 해제할 수 있습니다. 프로세스가 메모리를 해제하지 않으면 운영 체제가 프로세스를 종료하고 메모리를 자동으로 해제할 수 있습니다.

디스크 및 파일 시스템: 파일 시스템이란 일반적으로 디스크 데이터를 관리하는 시스템으로, 데이터를 디렉토리 또는 파일로 저장할 수 있습니다. 각 파일 시스템에는 로그 관리 또는 디스크 없는 재구성과 같은 고유한 형식과 기능이 있습니다.

운영 체제에는 여러 가지 내장 파일 시스템이 있습니다. 예를 들어 Linux 에는 ext2, ext3, ext4, ReiserFS, Reiser4, GFS, GFS2, OCFS, OCFS2, NILFS 및 Google 파일 시스템과 같은 다양한 내장 파일 시스템이 있습니다. Linux 는 XFS, JFS, FAT 제품군, NTFS 등 로컬이 아닌 파일 시스템도 지원합니다. 반면 Windows 가 지원할 수 있는 파일 시스템은 FAT 12, FAT 16, FAT32, NTFS 뿐입니다. NTFS 시스템은 Windows 에서 가장 안정적이고 효율적인 파일 시스템입니다. 다른 FAT 제품군은 NTFS 보다 오래되어 파일 길이 및 파티션 디스크 용량에 큰 제한이 있어 많은 문제가 발생합니다. 유닉스의 파일 시스템은 대부분 UNIX 이며, 유닉스의 한 지점인 Solaris 는 최근 새로운 종류의 ZFS 를 지원하기 시작했다.

이러한 파일 시스템의 대부분은 두 가지 구축 방법을 가지고 있습니다. 이 시스템은 로그 파일 시스템 또는 비로그 파일 시스템에 구축할 수 있습니다. 로그 파일 시스템은 시스템 복구를 보다 안전하게 실행할 수 있습니다. 로그를 작성하지 않은 파일 시스템에 갑작스러운 시스템 충돌이 발생하여 데이터 생성 중 중지가 발생하는 경우 시스템을 취소하려면 전용 파일 시스템 검사 도구가 필요합니다. 로그 유형은 자동으로 응답할 수 있습니다. Microsoft 의 NTFS 와 Linux 의 ext3, ext4, reiserFS 및 JFS 는 모두 로그 파일 시스템입니다.

각 파일 시스템은 유사한 디렉토리/하위 디렉토리 아키텍처를 구현하지만 유사성에 따라 많은 차이가 있습니다. Microsoft 는 "\" 기호를 사용하여 디렉토리/하위 디렉토리 관계를 만듭니다. 파일 이름은 대/소문자 차이를 무시합니다. 유닉스 시스템에서는 "/"를 사용하여 디렉토리 패턴을 생성합니다. 파일 이름은 대/소문자가 다릅니다.

네트워크: 많은 현대 OS 는 메인스트림 네트워크 통신 프로토콜 TCP/IP 를 실행할 수 있는 기능을 갖추고 있습니다. 즉, 이러한 운영 체제는 네트워크 세계로 들어가 파일, 프린터, 스캐너 등의 리소스를 다른 시스템과 공유할 수 있습니다.

많은 OS 는 또한 IBM 이 설립한 SNA, DEC 가 시스템에 설치한 DECnet 아키텍처, Microsoft 가 Windows 를 위한 전용 통신 프로토콜과 같은 과거 네트워크 계몽 시대의 다양한 네트워크 통신 프로토콜을 지원합니다. 또한 네트워크에서 파일 액세스를 제공하는 NFS 시스템과 같은 특수 기능을 위해 개발된 많은 통신 프로토콜이 있습니다. 현재 대량의 UDP 프로토콜이 스트리밍 미디어 및 게임 메시지 전송에 사용되고 있습니다.

보안: 대부분의 운영 체제에는 정보 보안 메커니즘이 포함되어 있습니다. 정보 보안 메커니즘은 주로 두 가지 개념을 기반으로합니다.

운영 체제는 로컬 디스크 드라이브의 파일, 보호된 권한 시스템 호출, 사용자의 개인 데이터, 시스템에서 실행 중인 프로그램 제공 서비스 등 다양한 리소스에 직접 또는 간접적으로 액세스할 수 있는 채널을 외부 세계에 제공합니다.

운영 체제는 리소스 액세스 요청을 승인할 수 있습니다. 인증 요청을 허용하고, 통과할 수 없는 불법 요청을 거부하고, 해당 요청에 적절한 권한을 부여합니다. 일부 시스템의 인증 메커니즘은 단순히 자원을 특권과 비특권으로 나누는 것일 뿐, 각 요청에는 사용자 이름과 같은 고유한 식별 번호가 있습니다. 자원 요청은 일반적으로 두 가지 범주로 나뉩니다.

내부 자원: 일반적으로 실행 중인 프로그램의 자원 요청입니다. 일부 시스템에서는 프로그램을 실행할 수 있으면 DOS 시대의 바이러스와 같은 모든 것을 할 수 있지만, 일반적으로 OS 는 프로그램에 식별 번호를 부여하며, 프로그램이 요청을 할 때 코드와 필요한 자원에 대한 액세스 권한 사이의 관계를 확인합니다.

외부 출처: 로컬 컴퓨터에 원격으로 로그인하거나 일부 네트워크 연결 요청 (FTP 또는 HTTP) 과 같은 비로컬 컴퓨터의 자원 요청입니다. 이러한 외부 요청을 식별하기 위해 시스템은 해당 요청에 대한 인증 요청을 할 수 있습니다. 일반적으로 사용자 이름과 해당 암호를 입력해야 합니다. 이 시스템은 때때로 마그네틱 카드나 바이오메트릭 데이터와 같은 다른 인증 방법을 사용합니다. 경우에 따라 네트워크 통신과 같은 리소스 (예: 익명 FTP 서버 또는 P2P 서비스) 는 일반적으로 인증 없이 액세스할 수 있습니다.

형식 보안 메커니즘을 허용/거부할 수 있을 뿐만 아니라, 높은 보안 시스템은 리소스에 대한 다양한 액세스 요청 (예: "누가 이 파일을 읽었습니까?" " ) 을 참조하십시오.

군사 및 상업 조직이 컴퓨터에 민감한 데이터를 기록하기 때문에 보안 메커니즘은 운영 체제 역사상 장기적인 관심과 토론의 문제였습니다. 미국 국방부 (DoD) 는 보안 메커니즘의 유효성을 평가하는 기본 원칙을 설정하는 신뢰할 수 있는 컴퓨터 시스템 평가 프로그램 (TCSEC) 을 수립했습니다. 이는 운영 체제 작성자에게 매우 중요합니다. TCSEC 는 민감한 데이터나 기밀 데이터를 처리, 저장 및 수집하는 컴퓨터 시스템을 평가, 분류 및 선택하는 표준 프로그램이기 때문입니다.

내부 정보 보안: 내부 정보 보안은 실행 중인 프로그램이 시스템 리소스에 임의로 액세스하는 것을 방지하는 수단으로 볼 수 있습니다. 대부분의 OS 는 일반 프로그램이 컴퓨터의 CPU 를 직접 조작할 수 있도록 허용하므로 OS 처럼 트랜잭션을 처리할 수 있는 프로그램을 강제로 중지하고 동일한 특수 명령을 실행하는 방법과 같은 문제가 발생합니다. 결국 이런 상황에서 OS 는 또 다른 동등한 절차일 뿐이다. 범용 OS 를 위해 생산된 CPU 는 일반적으로 하드웨어 수준에서 특수 명령 보호 개념을 어느 정도 실천하는 경우가 많습니다. 일반적으로 권한 수준이 낮은 프로그램은 하드 드라이브와 같은 외부 장치에 직접 액세스하는 것과 같은 특수 명령을 실행하려고 할 때 차단됩니다. 따라서 프로그램은 운영 체제에서 디스크에 액세스하기 위해 특수 명령을 실행해야 합니다. 따라서 운영 체제는 프로그램의 id 를 확인하고 그에 따라 요청을 수락하거나 거부할 수 있습니다.

특수 명령 아키텍처를 지원하지 않는 하드웨어에서 또 다른 유일한 보호 방법은 OS 가 CPU 를 사용하여 사용자의 프로그램을 직접 실행하는 것이 아니라 CPU 를 시뮬레이션하거나 P 코드 시스템 (유사 코드 실행기) 을 제공하여 프로그램을 Java 처럼 가상 시스템에서 실행할 수 있도록 하는 것입니다.

내부 보안 메커니즘은 다중 사용자 컴퓨터에서 특히 중요합니다. 즉, 각 시스템 사용자는 자신의 개인 파일과 디렉토리를 가질 수 있으며 다른 사용자는 자유롭게 액세스하거나 삭제할 수 없습니다. 어떤 프로그램이든 OS 모니터링을 우회할 수 있고 사이드록 프로그램 모니터링을 우회할 가능성이 높기 때문에 강제력을 가진 내부 보안 메커니즘도 사이드록이 시작될 때 매우 중요합니다.

외부 정보 보안: 일반적으로 하나의 운영 체제가 다른 네트워크의 컴퓨터 또는 사용자에게 다양한 서비스를 제공 (호스팅) 합니다. 이러한 서비스는 일반적으로 포트 또는 운영 체제 네트워크 주소 뒤에 있는 디지털 액세스 포인트에서 제공됩니다. 일반적으로 이 서비스에는 파일 공유 (NTFS), 인쇄 공유, e-메일, 웹 서비스 및 파일 전송 프로토콜 (FTP) 이 포함됩니다. 외부 정보 보안의 최전선은 방화벽과 같은 하드웨어 장치입니다. 많은 종류의 소프트웨어 방화벽이 일반적으로 운영 체제 내부에 설치되어 있습니다. 소프트웨어 방화벽은 운영 체제에서 실행되는 서비스와 외부 세계 간의 연결을 수락하거나 거부하도록 설정할 수 있습니다. 따라서 누구나 텔넷이나 FTP 와 같은 안전하지 않은 네트워크 서비스를 설치 및 실행할 수 있으며, 일부 개인 채널을 제외한 모든 연결을 차단하는 메커니즘을 설정하여 잘못된 연결을 방지할 수 있습니다.

사용자 인터페이스: 오늘날 대부분의 운영 체제에는 그래픽 사용자 인터페이스가 포함되어 있습니다. 최초의 Windows 및 Mac OS 구현 제품과 같이 그래픽 사용자 인터페이스와 핵심을 밀접하게 결합한 몇 가지 오래된 OS 가 있습니다. 이 방법은 더 빠른 그래픽 응답성을 제공할 수 있으며 모듈을 자르지 않아도 수월하지만 그래픽 시스템 충돌과 같은 부작용으로 인해 사망 블루 스크린과 같은 전체 시스템 충돌이 발생할 수 있습니다. 많은 현대 OS 는 모듈화되어 그래픽 인터페이스의 하위 시스템을 코어에서 분리합니다 (Linux 와 Mac OS X 는 원래 이렇게 설계된 것으로 알려져 있으며, Windows 의 일부 확장 버전도 결국 이 방법을 사용합니다).

많은 운영 체제를 통해 원하는 그래픽 인터페이스 [6] 를 설치하거나 만들 수 있습니다. 대부분의 Unix 및 Unix 파생 시스템 (BSD, Linux, Minix) 은 보통 GNOME 또는 KDE 데스크톱 환경을 사용하여 X Window 시스템을 설치합니다. 그러나 일부 운영 체제에는 Windows 와 같은 유연한 그래픽 사용자 인터페이스가 없습니다. 이 OS 는 추가 프로그램을 통해서만 그래픽 사용자 인터페이스를 변경할 수 있으며, 심지어 메뉴 스타일이나 색상 구성만 변경할 수 있습니다.

그래픽 사용자 인터페이스가 시대와 보조를 맞추다. 예를 들어, Windows 는 새 버전이 출시될 때마다 그래픽 사용자 인터페이스를 변경하며, Mac OS 의 GUI 는 Mac OS X 가 출시될 때 큰 변화를 가져올 것입니다.

드라이버: 장치 드라이버란 하드웨어와 상호 작용하도록 설계된 컴퓨터 소프트웨어입니다. 일반적으로 하드웨어에 연결된 컴퓨터 세트 하위 시스템 또는 통신 하위 시스템을 활용하여 해당 장치에 주문 및 정보 수신 기능을 제공하는 잘 설계된 장치 상호 작용 인터페이스입니다. 결국 운영 체제 또는 어플리케이션에 메시지를 제공합니다. 드라이버는 특정 하드웨어 및 특정 OS 를 위해 설계된 소프트웨어로, 일반적으로 운영 체제 코어 모듈, 애플리케이션 패키지 또는 일반 컴퓨터 프로그램으로 OS 커널에서 실행되어 하드웨어와의 투명한 상호 작용을 가능하게 하며, 비동기 시변 하드웨어 인터페이스를 처리하는 데 필요한 인터럽트 처리기를 제공합니다.

드라이버 설계의 주요 목적은 추상적 인 작업입니다. 모든 하드웨어 모듈은 같은 장치라도 하드웨어 설계에 큰 차이가 있습니다. 공급업체가 출시한 최신 모듈은 일반적으로 더 안정적이고 효율적이며 제어 방법도 다릅니다. 컴퓨터와 운영 체제는 기존 장치와 새 장치의 차이를 예측할 수 없는 경우가 많기 때문에 작동 방법을 알 수 없습니다. 이 문제를 해결하기 위해 OS 는 일반적으로 각 장치의 작동 모드를 적극적으로 개발하며, 드라이버의 역할은 이러한 OS 가 개발한 동작 설명을 장치가 이해할 수 있는 사용자 정의 작동 방식으로 변환하는 것입니다.

이론적으로 적절한 드라이버를 설치하면 해당 새 장치를 오류 없이 실행할 수 있습니다. 이 새로운 드라이버는 이 장치를 OS 에 완벽하게 맞출 수 있게 해 주며, 이는 OS 가 원래 가지고 있지 않았던 기능이라는 것을 사용자가 인식하지 못하게 한다. (알버트 아인슈타인, Northern Exposure (미국 TV 드라마), 스포츠명언)