Basic Security/_System2007.01.10 10:55

사용자 삽입 이미지

HAL(Hardware Abstraction Layer)
새로운 하드웨어가 개발되어 시스템에 장착되더라도 드라이버 개발자가 HAL의 표준에 따라 드라이버를 개발할 시에 장착된 하드웨어와 시스템 간 원활한 통신이 가능하도록 도와주는 번역자와 같다.


마이크로 커널(Micro Kernel)
커널은 원래 프로세스의 스케줄링이나 메모리 관리, 데이터의 입출력, 하드웨어의 제어 등 많은 일을 도맡아서 했으나, 윈도우의 경우에는 이를 여러 관리자(manager)에세 분담시키고 자신은 하드웨어와의 통신만을 제어하는 최소한의 커널이 되었다. 이를 마이크로 커널이라고 한다. 윈도우 2000, XP의 경우 system32 폴더 안에 ntoskrnl.exe파일이 그 역할을 한다.


입출력 관리자(I/O Manager)
시스템의 입출력을 제어한다. 다시 말하면, 장치 드라이버 사이에서 메시지를 전달한다. 또한 응용 프로그램이 하드웨어와 곧바로 통신할 수 있는 통로를 제공해준다.


객체 관리자(Object Manager)
파일, 포트, 프로세스, 스레드 등의 객체에 대한 정보를 제공한다.


보안 참조 관리자(Security Reference Monitor)
데이터나 시스템 자원의 제어를 허가하거나 거부함으로써 강제적으로 시스템의 보안 설정을 책임진다.


프로세스 관리자(Process Manager)
스레드를 생성하고 요청에 따라 처리한다.


로컬 프로시저 호출(Local Procedure Call)
각 프로세스는 서로의 메모리 공간을 침범하지 못하기 때문에 프로세스 간에 통신이 필요한데, 그 경우 이를 대신해줄 수 있는 장치이다.


가상 메모리 관리자(Virtual Memory Manager)
응용 프로그램의 요청에 따라 RAM의 메모리를 할당해주고, 가상 메모리의 페이징(paging)을 제어한다.


커널 모드와 사용자 모드
HAL, 마이크로 커널, 그리고 각 매니저가 실행되는 가상적인 공간을 커널 모드라고 한다. 우리가 운영체제를 통하여 사용하는 일반적인 응용프로그램은 사용자 모드에서 동작한다. 사용자 모드에는 여러 가지 응용프로그램이 존재할 수 있으며, 이러한 응용 프로그램을 실행시키기 위한 서브시스템(subsystem)이 있는데, 서브시스템은 윈도우에서 여러 가지 응용 프로그램을 실행시키기 위한 컨테이너(Container)라고 할 수 있다.


Win32 서브시스템
윈도우 2000의 기본적인 서브시스템으로 32비트 응용 프로그램이 동작할 수 있게 도와주며, 기본적인 윈도우의 사용자 인터페이스를 제공한다. 즉, 비디오 디스플레이, 키보드, 마우스 등을 지원하는 서브시스템이다.


POSIX(Portable Operating System Interface)
유닉스 운영체계에 기반을 두고 있는 일련의 표준 운영체계 인터페이스이다. 표준화에 관한 필요성은, 컴퓨터를 사용하고 있는 기업들이 다시 코딩하지 않고서도 다른 컴퓨터 회사가 만든 컴퓨터 시스템에도 운영할 수 있도록, 호환성이 있는 프로그램을 개발하기 원하는 데에서 기인했다. 유닉스는 제작자와 비교적 무관한, 중립적인 입장에 있었기 때문에 표준 시스템 인터페이스로 선정되었다. 그러나 몇몇 주요 유닉스 버전들은 공통분모에 해당하는 시스템을 개발해야할 필요가 상존하고 있었다.


FAT(File Allocation Table)
하나의 파티션의 최대 크기는 2GB이다. 기본적으로 16비트 크기의 테이블을 가지고 있으며, 하나의 클러스터가 32KB 이다.


FAT32
윈도우 95 OSR(OEM Service Release) 2에서 처음 도입되어 사용되었다. FAT32는 2비트(2^32)개수만큼의 클러스터를 가질 수 있었기에 FAT와는 비교할 수 없을 만큼 큰 용량이 가능해 졌다. FAT32는 호환성이 좋은 편이어서 리눅스나 다른 운영체제의 정보를 옮길 때 유용하게 쓰인다. 보안 관점에서는 접근 제어를 설정할 수 없다는 큰 문제점이 있다.


NTFS(New Technology File System)
NT계열부터 사용되기 시작했으며 FAT와 OS/2의 파일시스템이었던 HPFS(High Performance File System)의 장점을 모아 만든 것이다. NTFS는 파일 시스템의 결함 관리에서도 기존 파일시스템 보다 뛰어나며 갑작스런 전원 차단 시에도 자신의 로그를 따로 기억하여 자동으로 복구해 준다. 파일과 폴더에 대해 권한 설정 및 암호화가 가능하다.

파일이나 폴더별로 압축하여 관리할 수 있고 재부팅 없이 파일시스템 변경이 가능하다. 쿼터(quota)의 기능으로 FAT에서는 기본 파티션을 하나만 설정할 수 있는데 반해, NTFS는 3개 까지 설정이 가능하다.

이렇듯 많은 기능을 가진 NTFS의 단점은 하나의 파일이 가져야 하는 정보가 그 많큼 많아지기 때문에 FAT32에 비해 훨씬 큰 오버헤드(overhead)를 갖는다. 오버헤드는 하나의 파티션에 5MB 정도다. 따라서 NTFS로 포맷을 하게 되면 하드디스크 용량 중에 5MB는 어디론가 사라져 버린다.

[보안/해킹/_ System] - [Windows] 윈도우 주요 서비스
[보안/해킹/_ System] - [Windows] 윈도우 부팅 순서
[보안/해킹/_ System] - [Windows] 윈도우즈 역사
[보안/해킹/_ System] - [Windows] 윈도우 주요 프로세스

Posted by Proneer

댓글을 달아 주세요