교착상태

  • 두 개 이상의 프로세스가 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 있는 자원을 요구하며, 서로의 작업을 끝나기만을 기다리며 둘 다 영원히 끝나지 않는 상황을 의미함

교착상태 발생의 필요 충분 조건

  • 상호 배제(Mutual Exclusion) : 한 번에 한 개의 프로세스만이 공유 자원을 사용할 수 있어야 함
  • 점유와 대기(Hold and Wait) : 최소한 하나의 자원을 점유하고 있으면서 다른 프로세스에 할당되어 사용되고 있는 자원을 추가로 점유하기 위해 대기하는 프로세스가 있어야 함
  • 비선점(Non-preemption) : 다른 프로세스에 할당된 자원은 사용이 끝날 때까지 강제로 빼앗을 수 없어야 함
  • 환형 대기(Circular Wait) : 공유 자원과 공유 자원을 사용하기 위해 대기하는 프로세스들이 원형으로 구성되어 있어 자신에게 할당된 자원을 점유하면서 앞이나 뒤에 있는 프로세스의 자원을 요구해야 함

'CS' 카테고리의 다른 글

프로세스 상태  (1) 2023.02.16
IEEE 802의 주요 표준 규격  (0) 2023.02.16
UNIX/LINUX 기본 명령어  (0) 2023.02.16
IPv6(Internet Protocol version 6)  (0) 2023.02.16
스래싱(Thrashing)  (0) 2023.02.16
UNIX/LINUX 기본 명령어
명령어 설명
cat 파일 내용을 화면에 표시함
chdir 현재 사용할 디렉터리의 위치를 변경함
chmod 파일의 보호 모드를 설정하여 파일의 사용 허가를 지정함
chown 소유자를 변경함
cp 파일을 복사함
exec 새로운 프로세스를 수행함
find 파일을 찾음
fork 새로운 프로세스를 생성함(하위 프로세스 호출, 프로세스 복제 명령)
fsck 파일 시스템을 검사하고 보수함
getpid 자신의 프로세스 아이디를 얻음
getppid 부모 프로세스 아이디를 얻음
ls 현재 디렉터리 내의 파일 목록을 확인함
mount/unmount 파일 시스템을 마운팅함/마운팅 해제함
rm 파일을 삭제함
wait fork 후 exec에 의해 실행되는 프로세스의 상위 프로세스가 하위 프로세스 종료 등의 event를 기다림

'CS' 카테고리의 다른 글

IEEE 802의 주요 표준 규격  (0) 2023.02.16
교착상태와 교착상태 발생의 필요 충분 조건  (0) 2023.02.16
IPv6(Internet Protocol version 6)  (0) 2023.02.16
스래싱(Thrashing)  (0) 2023.02.16
프로세서의 정의  (0) 2023.02.16

IPv6(Internet Protocol version 6)

  • 현재 사용하고 있는 IP 주소 체계인 IPv4의 주소 부족 문제를 해결하기 위해 개발되었다.
  • 128비트의 긴 주소를 사용하여 주소 부족 문제를 해결할 수 있으며, IPv4에 비해 자료 전송 속도가 빠르다.
  • 인증성, 기밀성, 데이터 무결성의 지원으로 보안 문제를 해결할 수 있다.
  • IPv4와 호환성이 뛰어나다.
  • 주소의 확장성, 융통성, 연동성이 뛰어나며, 실시간 흐름 제어로 향상된 멀티미디어 기능을 지원한다.
  • Traffic Class, Flow Label을 이용하여 등급별, 서비스별로 패킷을 구분할 수 있어 품질 보장이 용이하다.
  • 패킷 크기를 확장할 수 있으므로 패킷 크기에 제한이 없다.
  • 기본 헤더 뒤에 확장 헤더를 더함으로써 더욱 다양한 정보의 저장이 가능해져 네트워크 기능 확장이 용이하다.
  • 미리 예약된 알고리즘을 통해 고유성이 보장된 주소를 자동으로 구성할 수 있다. 즉, 자동으로 네트워크 환경 구성이 가능하다.

'CS' 카테고리의 다른 글

교착상태와 교착상태 발생의 필요 충분 조건  (0) 2023.02.16
UNIX/LINUX 기본 명령어  (0) 2023.02.16
스래싱(Thrashing)  (0) 2023.02.16
프로세서의 정의  (0) 2023.02.16
OSI 7계층  (1) 2023.02.16

스래싱(Thrashing)

  • 프로세스의 처리 시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상이다.
  • 다중 프로그래밍 시스템이나 가상기억장치를 사용하는 시스템에서 하나의 프로세스 수행 과정 중 자주 페이지 부재가 발생함으로써 나타나는 현상으로, 전체 시스템의 성능이 저하된다.
  • 다중 프로그래밍의 정도가 높아짐에 따라 CPU의 이용률은 어느 특정 시점까지는 높아지지만, 다중 프로그래밍의 정도가 더욱 커지면 스래싱이 나타나고, CPU의 이용률은 급격히 감소하게 된다.

스래싱 현상 방지 방법

  • 다중 프로그래밍의 정도를 적정 수준으로 유지한다.
  • 페이지 부재 빈도(Page Fault Frequency)를 조절하여 사용한다.
  • 워킹 셋을 유지한다.
  • 부족한 자원을 증설하고, 일부 프로세스를 중단시킨다.
  • CPU 성능에 대한 자료의 지속적 관리 및 분석으로 임계치를 예상하여 운영한다.

'CS' 카테고리의 다른 글

UNIX/LINUX 기본 명령어  (0) 2023.02.16
IPv6(Internet Protocol version 6)  (0) 2023.02.16
프로세서의 정의  (0) 2023.02.16
OSI 7계층  (1) 2023.02.16
사용자 인터페이스의 종류  (0) 2023.02.15

프로세서의 정의

  • PCB를 가진 프로그램
  • 실기억장치에 저장된 프로그램
  • 프로세서가 할당되는 실체로서, 디스패치가 가능한 단위
  • 프로시저가 활동중인 것
  • 비동기적 행위를 일으키는 주체
  • 지정된 결과를 얻기 위한 일련의 계통적 동작
  • 목적 또는 결과에 따라 발생되는 사건들의 과정
  • 운영체제가 관리하는 실행 단위

'CS' 카테고리의 다른 글

IPv6(Internet Protocol version 6)  (0) 2023.02.16
스래싱(Thrashing)  (0) 2023.02.16
OSI 7계층  (1) 2023.02.16
사용자 인터페이스의 종류  (0) 2023.02.15
XP(eXtreme Programing)  (0) 2023.02.15
OSI 7계층
  • 물리 계층(Physical Layer)
    • 전송에 필요한 두 장치 간의 실제 접속과 절단 등 기계적, 전기적, 기능적, 절차적 특성에 대한 규칙을 정의한다.
    • 물리적 전송 매체와 전송 신호 방식을 정의하며, RS-232C, X21 등의 표준이 있다.
  • 데이터 링크 계층(Data Link Layer)
    • 두 개의 인접한 개방 시스템들 간에 신뢰성 있고 효율적인 정보 전송을 할 수 있도록 한다.
    • 송신 측과 수신 측의 속도 차이를 해결하기 위한 흐름 제어 기능을 한다.
    • 오류의 검출과 회복을 위한 오류 제어 기능을 한다.
    • 프레임의 순서적 전송을 위한 순서 제어 기능을 한다.
    • HDLC, LAPB, LLC, LAPD, PPP 등의 표준이 있다.
  • 네트워크 계층(Network Layer, 망 계층)
    • 개방 시스템들 간의 네트워크 연결을 관리하는 기능과 데이터의 교환 및 중계 기능을 한다.
    • 네트워크 연결을 설정, 유지, 해제하는 기능을 한다.
    • 경로 설정(Routing), 데이터 교환 및 중계, 트래픽 제어, 패킷 정보 전송을 수행한다.
    • 관련 표준으로는 X25, IP 등이 있다.
  • 전송 계층(Transport Layer)
    • 논리적 안정과 균일한 데이터 전송 서비스를 제공함으로써 종단 시스템(End-to-End) 간에 투명한 데이터 전송을 가능하게 한다.
    • OSI 7계층 중 하위 3계층과 상위 3계층의 인터페이스(Interface)를 담당한다.
    • 종단 시스템(End-to-End) 간의 전송 연결 설정, 데이터 전송, 연결 해제 기능을 한다.
    • 주소 설정, 다중화, 오류 제어, 흐름 제어를 수행한다.
    • TCP, UDP 등의 표준이 있다.
  • 세션 계층(Session Layer)
    • 송 ・ 수신측 간의 관련성을 유지하고 대화 제어를 담당하는 계층이다.
    • 대화(회화) 구성 및 동기 제어, 데이터 교환 관리 기능을 한다.
    • 연결의 생성, 관리, 종료를 위한 토큰을 사용한다.
  • 표현 계층(Presentation Layer)
    • 응용 계층으로부터 받은 데이터를 세션 계층에 보내기 전에 통신에 적당한 형태로 변환하고, 세션 계층에서 받은 데이터는 응용 계층에 맞게 변환하는 기능을 한다.
    • 서로 다른 데이터 표현 형태를 갖는 시스템 간의 상호 접속을 위해 필요한 계층이다.
    • 코드 변환, 데이터 암호화, 데이터 압축, 구문 검색, 정보 형식(포맷) 변환, 문맥 관리 기능을 한다.
  • 응용 계층(Application Layer)
    • 사용자(응용 프로그램)가 OSI 환경에 접근할 수 있도록 서비스를 제공한다.
    • 응용 프로세스 간의 정보 교환, 전자 사서함, 파일 전송 등의 서비스를 제공한다.

'CS' 카테고리의 다른 글

스래싱(Thrashing)  (0) 2023.02.16
프로세서의 정의  (0) 2023.02.16
사용자 인터페이스의 종류  (0) 2023.02.15
XP(eXtreme Programing)  (0) 2023.02.15
결합도(Coupling)  (0) 2023.02.15
사용자 인터페이스의 종류
  • CLI(Command Line Interface) : 명령과 출력이 텍스트 형태로 이뤄지는 인터페이스
  • GUI(Graphic User Interface) : 아이콘이나 메뉴를 마우스로 선택하여 작업을 수행하는 그래픽 환경의 인터페이스
  • NUI(Natural User Interface) : 사용자의 말이나 행동으로 기기를 조작하는 인터페이스
  • VUI(Voice User Interface) : 사람의 음성으로 기기를 조작하는 인터페이스
  • OUI(Organic User Interface) : 모든 사물과 사용자 간의 상호작용을 위한 인터페이스

'CS' 카테고리의 다른 글

프로세서의 정의  (0) 2023.02.16
OSI 7계층  (1) 2023.02.16
XP(eXtreme Programing)  (0) 2023.02.15
결합도(Coupling)  (0) 2023.02.15
CRUD 분석  (0) 2023.02.15
XP(eXtreme Programing)
  • XP는 수시로 발생하는 고객의 요구사항에 유연하게 대응하기 위해 고객의 참여와 개발 과정의 반복을 극대화하여 개발 생산성을 향상시키는 방법이다.
  • XP는 짧고 반복적인 개발 주기, 단순한 설계, 고객의 적극적인 참여를 통해 소프트웨어를 빠르게 개발하는 것을 목적으로 한다.
  • 릴리즈의 기간을 짧게 반복하면서 고객의 요구사항 반영에 대한 가시성을 높인다.
  • 릴리즈 테스트마다 고객을 직접 참여시킴으로써 요구한 기능이 제대로 작동하는지 고객이 직접 확인할 수 있다.
  • 비교적 소규모 인원의 개발 프로젝트에 효과적이다.
XP의 5가지 핵심 가치
  • 의사소통(Communication)
  • 단순성(Simplicity)
  • 용기(Courage)
  • 존중(Respect)
  • 피드백(Feedback)

'CS' 카테고리의 다른 글

OSI 7계층  (1) 2023.02.16
사용자 인터페이스의 종류  (0) 2023.02.15
결합도(Coupling)  (0) 2023.02.15
CRUD 분석  (0) 2023.02.15
시스템 카탈로그(System Catalog)  (0) 2023.02.15

+ Recent posts