전체 글 (43) 썸네일형 리스트형 OSI 7계층 TCP/IP 4계층 OSI 7 계층 및 TCP/IP 4 계층 OSI 7 계층 네트워크에서 통신이 일어나는 과정을 7단계로 나눈것 계층을 나눈 이유는 통신이 일어나는 과정을 단계별로 파악할수 있기 때문 그림과 같이 각 계층을 지날때 마다 각 계층에서 Header가 붙게 되고 수신측은 역순으로 헤더를 분석 1계층 - 물리계층 (Physical Layer) 전기적, 기계적, 기능적 특성을 이용하여 통신 케이블로 데이터 전송 케이블, 리피터, 허브를 통해 데이터 전송 통신 단위는 비트 단지 데이터를 전달만 할뿐, 전송 또는 받는 데이터가 무엇인지는 중요하지 않다 2계층 - 데이터링크 계층 (DataLink Layer) 물리계층을 통해 송수신 되는 데이터의 오류와 흐름을 관리하여 안전한 데이터의 전달을 수행 통신에서의 오류도 찾고,.. 가상메모리관리 가상 메모리 관리 요구 페이징 요구페이징은 프로그램 실행 시 프로세스를 구성하는 모든 페이지를 한번에 메모리에 적재하는 것이 아니라 당장에 사용될 페이지만을 올리는 방식 이를 Lazy swapper라고 함 장점 필요한 페이지만 적재하기에 메모리 사용량 감소 프로세스 전체를 메모리에 적재하는데 소요되는 입출력 오버헤드 감소 사용되지 않는 주소 영역에 대한 입출력이 줄어 응답시간이 감소 시스템이 더많은 프로세스를 수용할수 있게 해줌 물리적 메모리의 제약을 벗어남 페이지 폴트(page fault) 가상 메모리 관리는 일부 페이지만 메모리에 적재하고 나머지는 디스크의 스왑 영역에 존재하기 때문에 메모리에 페이지가 존재하는지 구별하기 위해 유효-무효 비트를 두어 각페이지가 존재하는지 표시한다. 이때 페이지가 메모.. 가상 메모리 개요 가상 메모리 개요 가상 메모리 정의 가상 메모리(Virtual Memory System) 가상 메모리는 실제 메모리보다 많아 보이게 하는 기술로, 어떤 프로세스가 실행될 때 메모리에 해당 프로세스 전체가 올라가지 않더라도 실행이 가능하다는 점에 착안하여 고안함 물리적 메모리 용량의 한계를 극복하기 위한 기술 프로세스를 실행할 때 실행에 필요한 메모리만 로드하고 나머지는 디스크에 두는것 프로세스 전체가 물리적 메모리에 있는것 처럼 수행됨 메모리에 작은양의 주소공간만 있으면 충분히 프로세스를 수행가능하고 더많은 프로그램을 동시에 실행할수있어짐 물리메모리 == 메인메모리 가상 메모리 구성 가상 메모리는 크게 프로세스가 바라보는 메모리 영역과 관리자가 바라보는 메모리 영역으로 나뉜다 가상 메모리 시스템에서는 물.. 메모리관리 메모리 관리 메모리 관리 메모리 관리 필요성 여러 프로세스가 한정된 자원을 사용 하기 때문 메모리 자원을 효율적으로 사용하기 위해 고정 분할 방식 (Fixed Partition Multi-programming, FPM) 물리적 메모리를 정해진 개수만큼의 영구적인 분할로 나누어 두고 각 분할에 하나의 프로세스를 적재하는 방식. 분할의 크기는 같을수도, 다를수도 있다. 비연속 메모리 분할 : 한 프로세스가 분산 배치됨 고정분할 방식에는 외부 단편화(external fragmentation), 내부단편화(internal fragmentation) 문제가 발생할 수 있다. 단편화 : 메모리 공간의 빈 공간 또는 자료가 여러개의 조각으로 나뉘는 현상 내부 단편화 : 남는 메모리 공간 발생 외부 단편화 : 맞는 메.. 교착상태(Deadlock) 교착상태 (Deadlock) 정의 상호 배제에 의해 나타나는 문제점으로, 둘 이상의 프로세스들이 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 있는 자원을 요구하면 무한정 기다리는 현상 조건 상호배제 한번에 한개의 프로세스만이 공유 자원을 사용할 수 있어야함 점유대기 최소한 하나의 자원을 점유하고 있으면서 다른 프로세스에 할당되어 사용되고 있는 자원을 추가로 점유하기 위해 대기하는 프로세스가 있어야 함 비선점 다른 프로세스에 할당된 자원은 사용이 끝날 때까지 강제로 빼앗을 수 없어야함 순환 대기 공유자원과 공유자원을 사용하기 위해 대기하는 프로세스들이 원형으로 구성되어 있어 자신에게 할당된 자원을 점유하면서 앞이나 뒤에 있는 프로세스의 자원을 요구해야합니다 해결방법 예방 기법 교착상태 발생 조건 .. 동기화 문제 프로세스 동기화 정의 협력하는 프로세스 사이에서 실행 순서 규칙을 정하여 공유 자원의 일관성을 보장하는 것 프로세스가 협력하며 공유자원을 사용하는 상황에서, 경쟁조건이 발생하면 공유자원을 신뢰할 수 없게 만들 수 있다. 이를 방지하기 위해 프로세스들이 공유 자원을 사용할 때 특별한 규칙을 만드는것이 프로세스 동기화 공유자원 여러 프로세스가 공동으로 사용하는 메모리, 파일등 경쟁상태 여러 프로세스(또는 스레드)가 공유자원에 동시에 접근할 때, 공유 자원에 대한 접근 순서에 따라 실행 결과가 달라질 수 있는 상황 발생하는 경우 커널 코드 실행중에 인터럽트가 발생할경우 프로세스가 시스템 콜을 하여 커널모드로 진입해서 작업을 수행하는 도중에 문맥 교환이 발생할 경우 멀티 프로세서에서 공유 메모리 내의 커널데이터.. 인터럽트 인터럽트 개념 CPU가 프로그램을 실행하고 있을 때 (프로세스가 CPU를 선점하여 Running 상태 일때), 입출력 하드웨어 등의 장치에 예외상황이 발생하여 처리가 필요할 경우에 CPU에게 알려 이를 먼저 처리할 수 있도록 하는것 (Running상태의 프로세스를 Waiting 또는 Ready 상태로 변경한다) 인터럽트는 크게 하드웨어 인터럽트와 소프트웨어 인터럽트로 나눌 수 있다. 하드웨어 인터럽트는 키보드 마우스와 같은 하트웨어가 발생시킨 인터럽트 소프트웨어 인터럽트는 프로그램이 오류를 범하여 Exception이 발생하거나 사용자 프로그램이 커널함수 사용을 위해 호출하는 System Call이 발생하는 경우를 말함 소프트웨어 인터럽트 내부/ 동기적 인터럽트 trap, exception이라고 함 프로세.. 스케줄링 스케줄링 스케줄러 시스템이 실행하고자 할 때 프로세서(CPU)를 프로그램들에게 할당하는 과정을 스케줄링이라한다 어떤 프로세스에게 자원을 할당할지 결정하는 커널 모듈 프로세스는 자신의 임무를 모두 수행하고 사라질 때 까지 많은 큐를 돌아다니는데 이때 프로그램들은 제한된 프로세서(CPU)를 서로 사용하려고 한다. 운영체제(OS)는 이러한 프로세스중 하나를 택하는 데, 스케줄러가 이러한 역할을 담당한다. 장기 스케줄러(Long Term Scheduler) 작업 스케줄러(Job Scheduler), 승인 스케줄러 라고도 한다. 디스크내의 작업을 어떤 순서로 가져올지 결정하는 프로그램 디스크와 같은 저장장치에 작업들을 저장해놓고, 필요할 때 실행할 작업을 작업 큐에서 꺼내 준비 큐(Ready Queue)를 통해 .. 이전 1 2 3 4 ··· 6 다음 목록 더보기