무엇이이 커널
전에 앞서 우리가 우리 자신을 얻기를 원합니다 은에는 커널의 역할은 운영 체제가있습니다. 대부분의 운영 체제를 포함한 유닉스와 창을 커널은 특별한 소프트웨어가있는 컨트롤을 시스템의 각종 매우 중요한 요소입니다. 이 커널 개별 실행중인 프로그램과 하드웨어 자체를 사이에 앉아있다. 실적에 대한 다양한 비판적 관리 기능은 운영 체제와 역할을 연락망 사이의 사용자 - 레벨 프로그램과 하드웨어,이 커널 서브에서 중요한 역할을합니다. 대부분의 커널을 포함한 유닉스에서 발견 및 windows 시스템,에는 다음과 같은 핵심 기능 :
이러한 기능과 함께,이 커널은 모든에 대한 제어 : 앉아 부분에 interstices의 사용자 프로그램과 하드웨어를 제어하는 컴퓨터에 어떤 일이 발생합니다. 로 동작할,이 커널에 의존하는 하드웨어 - 레벨 보호 시스템의 cpu에 구현합니다. 를 사용하여 하드웨어 - 레벨 보호,이 커널을 시도를 보호하기 위해 자신의 중요한 데이터 구조에서 우발적 또는 고의적인 조작에 의해 사용자 - 레벨 과정에서 기계입니다. 대부분의 cpu를 포함하는 하드웨어 기능을 사용하면 소프트웨어가 시스템에서 서로 다른 수준의 권한에서 실행됩니다. 의 메모리 공간 및 다른 요소는 매우 민감한 소프트웨어 (마음에 커널)에 액세스할 수없습니다으로 코드가 실행되고 조금 덜 - 중요한 수준 (e.g., 사용자 프로세스). 에? - 호환 cpu, 이러한 서로 다른 민감도 수준이라고 반지, 그리고 범위는 링 0,가 장 민감한 수준,로 반지 3,가 장 민감한 수준입니다. 다른 작업으로 동작할의 cpu 스위치 사이의 이러한 다양한 수준에 따라 감도는 특정 소프트웨어가 현재 실행합니다. 예를은 리눅스와 윈도우즈 운영 체제를 전용 반지 0, 3가 사용됩니다; 또 다른 옵션을 지원하는? cpu (즉, 고리 1, 2)은 이용하지 않습니다. 이 커널 자체,이 두 리눅스와 창을에서 실행 링 0. 사실, 실행에 링 0을 정의 주어진 과제로 언제 커널 수준입니다. 를 실행하는 경우에 반지를 0으로 이용하실 수있습니다 모든 커널의 메모리 구조를하고있다 따라서는 커널 코드와 같은 수준입니다. 사용자 모드 프로세스에서 실행 반지 3,과, 아래 대부분의 조건에서 커널 공간에 직접 액세스할 수없습니다. 에 의존하여 링 0과 링 3, 모든 소프트웨어를 컴퓨터가 정말 조각품 최대로 두 개의 서로 다른 세계가 : 커널 모드 (실행중인 반지 0)와 사용자 모드 (실행중인 반지 3). 에 대한 비 -? cpu, 운영 체제를 활용 유사한 개념을 링 0과 링 3 구현의 cpu의 하드웨어입니다. 거의 모든 cpu를 지원 몇몇 개념의 특권 모드로, 여기서는 커널 삶, 그리고 nonprivileged 모드에 대한 사용자 프로세스입니다. 따라서, 사용자의 운영 체제를 정말로 구성되어있는 두 개의 세계가 : 사용자 모드와 커널 모드입니다. 사용자 모드는 무엇을 대개 하루에 볼과 상호 작용하여 시스템에서 -로 - 하루 기준으로 포함하고 프로그램을 실행한과 같은 명령을 셸, gui, 메일 서버, 또는 텍스트 편집기입니다. 또 다른 세계, 커널 모드, 거짓말을 자동으로 아래의 전체 작업을 관리하는 것들에 대한 액세스를 제어하는 하드웨어 및 일반적입니다. 시스템을 부팅할 때까지,이 커널이 메모리로로드를 시작한다 집행의 반지 0, 이로써 만들기의 첫 번째 세계 (커널 모드)입니다. 이 커널을 확보 자체를 설정한 후이 메모리에, 그것을 활성화 다양한 사용자 - 모드 프로세스에 대한 액세스를 허용하는 개별 사용자의 시스템과 프로그램을 실행되므로 사용자 - 모드 세상 만들기입니다. 를 참고하는 것이 중요합니다 커널 모드는 매우 다른 개념의 루트 또는 관리자 권한이있습니다. 관리자를 실행하면 명령, 특정 프로그램을 실행 내에서 사용자 모드; 즉,이 반지 3. 주소는 커널의 관점에서 관리자는 단지 다른 사용자으로나마하는 중요한 하나지만 여전히 다른 사람에 사는 반지 3. 대부분의 프로그램을 실행할 때, 컨트롤을 통과하기도했습니다 커널 모드에서 사용자 모드로 같은 경우에 프로그램이 필요가 상호 작용하는 하드웨어에 대한 인쇄가 화면, 수신 패킷을하거나 다른 조치를합니다. 이러한 경우가 발생하면, 제어가 매우 신중하게 통과에서 사용자 모드를 커널 모드를 통해 강력히 제어 인터페이스입니다. 이 소프트웨어를 구현이 전환으로부터 반지를 3 ~ 링 0라고합니다 전화를 게이트로 역할을 게이트에 대한 사용자 - 모드 프로세스로 소프트웨어가 살고있는 커널 모드입니다. 관리자는 실행중인 프로그램의 목록을 요청할 때 사용하는 도구처럼 유닉스 추신, lsof, 또는 상위 명령이나 windows 작업 관리자, 그들의 명령을 실행할 사용자 모드에서 실행중인 프로세스를 모두 나열하는 커널을 묻습니다. 커널을 움켜의 데이터를 그 커널 - 모드 데이터 구조, 응답하여 사용자 - 모드 명령을 사용하여 해당 정보를, 그리고 실행중인 프로세스가 표시됩니다. 이와 유사하게, 관리자 또는 사용자가 능성이있는 디렉토리의 파일 목록을 요청합니다. 커널이 응답을 적절한 정보가있습니다. 또는, 할 수있는 찾는 tcp 또는 udp 포트가 사용, 또는 여부에 네트워크 인터페이스가 promiscuous 모드입니다. 심지어 실행할 수있는 파일 무결성 검사기를 볼 수 있으면 중요한 시스템 파일이 변경으로 사용자 - 모드 rootkit. 이러한 모든 상호 작용, 그리고 훨씬 더 많은, 의존의 상태를 머신이 커널을 결정합니다. 그것은 어떻게 그것의 모든 작동하도록 돼있습니다. 커널이 걸린다 보육의 비즈니스, 그리고 모든 사람이 행복합니다. 이것은 문서가 추가 라파엘 콴
|
|||
|