본문 바로가기

분류 전체보기27

데이터 통신과 컴퓨터 네트워크의 용어의 정의 - 1 용어의 뜻을 옳게 이해하려면 단어가 지닌 사전적 뜻에 대해 선입견을 가지면 안 된다. 새로운 기술에 용어를 제공할 때는 일반적인 뜻이 가장 비슷한 기존 단어를 재사용한다. 그러다 보니 단어의 원래 뜻을 토대로 새로운 용어를 이해하는 경향이 이 등장하는데, 이는 새로운 학문을 배우는 데 큰 장애 요소가 되기도 한다. 따라서 이 부분을 경계하며, 네트워크의 기초 용어부터 하나씩 알아보는게 좋다. 인터넷이라 불리는 컴퓨터 네트워크는 현대인의 일상생활로 자리매김되고 사용 범위가 넓게 확장되면서 역으로 기술 발전을 견인하고 있다. 특히 인공지능과 합하여 발전되면서 사회 전반의 모든 산업과 서비스에 엄청난 파급 효과를 미치고 있다. 더불어 신개념과 이론도 계속 나타나고 있는데, 그 속도와 범위가 몹시 빨라서 전문가.. 2024. 10. 24.
운영체제의 구조에 대하여 운영체제가 점점 더 많은 하드웨어와 소프트웨어를 지원하면서 구조 또한 어려워졌다. 그런데 복잡한 시스템은 설계, 구현, 테스트, 유지 보수 등 다양한 면에서 간단하지 않다. 이를 해결하려고 운영체제를 설계하는 다양한 수단이 나타났다. 이 글에서는 대표적인 운영체제 구조 몇 가지만 살펴본다. 단일 구조 운영체제단일 구조 운영체제는 초기에 탄생한 가장 일반적인 형태이다. 운영체제의 모든 기능을 커널과 같은 메모리 공간에 적재한 후 시스템 호출만으로 활용할 수 있다. 작고 간편하면서 시스템 기능이 제한된 구조로, 대부분 기능을 최저한의 영역으로 제공하는데, 한 계층으로는 결합할 수 없는 매우 많은 기능으로 구성되어 있다. 물론 모듈이 효율적으로 나누어져 있지는 않다. 단일 구조의 또 다른 예시는 초기 유닉스이.. 2024. 10. 22.
교착 상태와 기아 상태 중 교착 상태의 해결 방법 이 글에서는 교착 상태 문제를 해결하는 방법 몇 가지 알아볼 것이다. 교착 상태를 해결하는 수단은 대략 다음 세 가지로 나눌 수 있다. - 교착 상태가 일어나지 않도록 예방하는 방법- 교착 상태의 발생 가능성을 고려하고 이를 적당히 회피하는 방법- 교착 상태를 허가하되 교착 상태를 탐지하여 재회복하는 방법 교착 상태 예방보통 교착 상태는 다음 네 가지 방법으로 예방할 수 있다.1. 비선점 조건 방지2. 순환 대기 조건 방지3. 자원의 상호배제 조건 방지4. 점유와 대기 조건 방지 앞서 설명한 교착 상태의 네 가지 조건이 하나라도 일어나지 않도록 하면 교착 상태를 예방할 수 있다. 하지만 상호배제 문제는 생각하여 프로세스가 희망하는 자원을 배타적으로 이용하려고 하는 것은 제외해야 한다. 전용 자원에서는 교.. 2024. 10. 22.
교착 상태와 기아 상태 중 교착 상태의 개념과 발생원인 다중 프로그래밍 시스템에서는 프로세스가 반드시 일어나지 않을 사건을 대기하는 상태가 되면 교착 상태에 빠졌다고 말한다. 이번 글은 이런 교착 상태의 개념과 그 원인을 살펴볼 것이다. 교착 상태의 개념시스템에서 발생하는 교착 상태를 좀 더 명확히 표현하면 이렇다. 한 프로세스 그룹의 프로세스들이 일으킬 사건을 여러 프로세스가 서로 대기하는 상태이다. 곧 둘 이상의 프로세스가 다른 프로세스가 다른 프로세스가 점유하고 있는 자원을 서로 기다릴 때 교착 상태가 일어난다. 응용 프로그램의 프로세스는 대다수 자원 하나에 단독으로 접근하기보다는 여러 자원을 활용한다. 예시를 들면, 두 프로세스가 CD에 각각 스캔한 문서를 저장한다고 전제하자. 프로세스 A는 스캐너 사용 권한을 요구하여 허가되었고, 프로세스 B는 CD.. 2024. 10. 22.
병행 프로세스와 상호배제 중 상호배제와 동기화에 관하여 상호배제는 병행 프로세스에서 프로세스 하나가 공유 자원을 활용할 때 다른 프로세스들이 같은 일을 할 수 없게 만드는 수단이다. 예시를 들면, 특정 공유 자원 두 가지가 있다고 하자 짧은 시간 동안 프로세스 하나만 사용할 수 있으면 이때 공유 자원에 있는 데이터에 접근하는 다른 프로세스를 프로세스 하나가 해당 데이터에 접근할 수 없게 하는 것을 상호배제라고 한다. 상호배제의 개념프로세스가 어떤 자원을 활용할 때 다른 프로세스가 해당 자원을 활용하지 못하도록 통제하는 능력에 따라 프로세스 동기화의 성공이 결정된다. 따라서 경쟁 관계에 있는 프로세스들은 상호배제가 필수이다. 상호배제의 개념을 구체적인 예시와 함께 살펴보자. 예시를 들어 두 프로세스 p1과 p2를 같은 컴퓨터에서 실행한다고 하자. 여기서 두 프.. 2024. 10. 22.
병행 프로세스와 상호배제 중 병행 프로세스에 대하여 컴퓨터는 프로그램 작업을 실행하는 데 활용할 수 있는 여러 자원으로 구성된다. 예시를 들면, 실제로 명령을 수행하는 프로세서, 데이터를 저장하는 데 이용하는 메인 메모리, 프로세서의 임시 저장소인 레지스터, 프로세서가 자주 접근하는 캐시, 프로그램을 영구적으로 지니게 하는 디스크 등 메모리와 프린터, 마우스, 키보드 등 입출력장치, 네트워크 포트 등이 있다. 이 중 메모리 같은 자원은 공유 영역을 병렬로 이용한다. 반대로 입출력장치 일부분이나 프로세서는 한 번에 프로세스 하나만 이용할 수 있는 공유 자원이다.병행 프로세스의 개념병행 프로세스들이 입출력장치, 프로세서, 클록, 메모리 같은 자원을 서로 활용하려고 하면 충돌이 일어난다. 그런데 이런 자원들은 다른 프로세스의 상태가 변하거나 영향을 받으면 안 .. 2024. 10. 22.