CS (15) 썸네일형 리스트형 User Mode, Kernel Mode, Interrupt 현대 OS는 사용자 프로그램의 간섭으로부터 운영체제 및 프로세스 제어블록과 같은 주요 운영체제 테이블을 보호하기 위해 User Mode와 Kernel모드를 나누어 관리한다. 따라서 어플리케이션 프로그램들은 직접 I/O 장치에 접근할 수 없다. User Mode -권한을 덜 가진 모드 -사용자 프로그램들이 수행됨 -HW resource에 대해서는 모두 접근 가능 Kernel Mode -더 많은 권한을 가진 모드 -User Mode가 접근할 수 있는 것들 외에 system resource에 대해서도 접근가능 User Mode와 Kernel Mode의 구분 모드 비트(mode bit)로서 구분됨 mode bit가 1 일 경우 user mode, 0일 경우 kernel mode User Mode와 Kernel .. Process Abstraction / 프로세스 추상화 프로세스 정의 -실행 중인(running) 프로그램 -처리기에 할당되어 수행될 수 있는 개체 프로세스 구성 메모리(Code,Data,Stack) + 레지스터(Program Counter, Stack Pointer) 프로세스 vs 프로그램 1. 프로그램 -disk에 위치 -disk에 위치하는 실행파일(.exe) 2. 프로세스 -memory에 위치 -프로그램이 memory에 올라와 CPU를 할당받고 실행되고 있는 상태 프로세스 생성 -fork()와 같은 system call을 사용해 process를 생성 -프로그램 코드를 메모리로 로드(= 프로세스 자신의 가상주소공간으로 프로그램 코드를 로드) *이 때 disk와의 I/O는 시간이 많이 걸리는 작업이기 때문에, 한꺼번에 전부를 load하지는 않고 가장 먼저 .. OS , 커널 정의 OS 정의 -운영체제 -자원관리자 -자원을 관리하는 소프트웨어 -하드웨어를 소프트웨어로 추상화 OS 역할 -사용자가 프로그램을 쉽게 사용할 수 있도록 돕는다. :실제로 HW가 어떻게 작동하는지를 숨기고(가상화), 사용자가 간단하게 사용할 수 있는 관리 도구를 제공(추상화)한다. -시스템이 정확하고 효율적으로 작동하는지 확인한다. 커널 정의 핵심 SW로, 기본적으로 메모리에 상주하는 중요한 코어가 되는 SW 프로세스들이 메모리를 공유하고(=가상화) 디바이스와 상호 작용하는 드으이 작업을 대신함으로써 사용자가 프로그램을 쉽게 돌릴 수 있게하는 SW 가상화 vs 추상화 1. 가상화 -메모리를 공유한다. (메모리 측면) -프로세스를 번갈아 수행하여 마치 CPU가 여러개인 것처럼 보이게한다. (프로세스 측면) 2.. 모노리틱 커널, 마이크로 커널, 하이퍼바이저 가상화 컴퓨팅에 필요한 물리적 자원을 복제하는 기술 물리적 자원을 복제하여 새로운 가상의 자원을 생성하는 행위 물리적 자원: 어떠한 컴퓨터를 구동하기 위해 반드시 필요한 CPU나 메모리, 디스크, 네트워크 등의 시스템 자원 커널 시스템에 존재하는 자원을 효율적으로 관리하는 자원 관리자 메모리에 항상 상주하고 있는 프로그램(Memory Resident) 자원관리, 메모리관리, 장치관리 1. 자원 관리 커널은 주소공간과 그 안의 자원에 대한 액세스를 중재할 수 있는 보호 매커니즘을 정의함. 또한 프로세스 간 통신과 문맥교환을 담당함. -프로세서 생성 및 소멸 -프로세서 간 통신 -CPU 스케쥴링 동기화 -지한된 자원에 대한 다중 프로세서의 효율적인 관리기법 제공 2. 메모리 관리 커널은 시스템 메모리에 대한.. 성공과 실패를 결정하는 1%의 네트워크 원리 | 웹 서버의 IP 주소를 DNS 서버에 조회한다 02. 웹서버의 IP 주소를 DNS 서버에 조회한다 p.56-681. IP 주소의 기본브라우저는 URL을 해독하고 HTTP 메시지를 만들어주지만 이 메시지를 네트워크에 송출하는 기능은 없다.이 기능을 OS에 의뢰하여 송신한다. OS에 송신을 의뢰할 때 'https://www.nolzaheo.tistory.com'와 같은 도메인명이 아니라 '10.11.12.13/255.255.255.0'과 같은 IP주소 형태로 메시지 받을 상대를 지정해야한다. 따라서 OS에 송신을 의뢰할 때 URL 안에 있는 서버의 도메인 명에서 IP 주소를 조사해야 한다. IP주소는 네트워크 번호와 호스트 번호로 이루어져있다. 우리가 집 주소를 말할 때 ○○동 ○○번지라고 하듯이, 여기서 네트워크 번호가 ○○동에, 호스트 번호가 ○○번.. 성공과 실패를 결정하는 1%의 네트워크 원리 | 01. HTTP 리퀘스트 메시지를 작성한다 01. HTTP 리퀘스트 메시지를 작성한다 p.36-551. 탐험 여행은 URL 입력부터 시작한다URL 종류는 다양하다. ex) http, file, fts, mailto.. 브라우저는 몇 개의 클라이언트 기능을 겸비한 복합적인 클라이언트 소프트웨어이다.브라우저 기능은 단순히 웹 서버에 액세스하는 클라이언트로만 사용되는 것이 아니라,파일을 다운로드/업로드하고, 메일을 송,수신하는 다양한 기능을 갖고있다.따라서 이 다양한 기능 중 어느 것을 사용하여 데이터에 액세스할 것인지 판단하는 재료가 필요하다. 상황에 따라 URL을 쓰는 방법이 다르다.ex) HTTP 프로토콜로 웹 서버에 액세스 하는 경우http://user:password@www.cyber.co.kr:80/dir/file1.htm ex) 메일을 .. 성공과 실패를 결정하는 1%의 네트워크 원리 | 탐험 여행의 경유지 탐험 여행의 경유지 p.34-35 1. HTTP 리퀘스트 메시지를 작성한다브라우저가 URL을 해독한다.브라우저가 URL을 해독하여 그 의 미에 따라 리퀘스트 메시지를 만든다.'리퀘스트 메시지가 어떻게 생겼는가'는 HTTP 프로토콜과 관련이 있다. 2. 웹 서버의 IP 주소를 DNS 서버에 조회한다메시지를 만들면 OS에 의뢰해서 웹 서버에 그 메시지를 송신한다.메시지를 넘기는 상대(웹 서버)의 IP주소를 OS에 통지한다.(=웹 서버의 IP 주소를 조사한다)브라우저는 웹 서버의 IP 주소를 조사하고 이를 OS에 알린다.URL에 적힌 도메인 명을 DNS 서버에 조회하여 IP 주소를 조사한다. 3. 전 세계의 DNS 서버가 연대한다DNS 서버가 IP 주소를 조사한다.이 때 전 세계의 모든 DNS 서버가 서로 연.. 이전 1 2 다음