전체 글 174

[운영체제] 임계구역 문제, 해결책(상호배제 ,진행 , 한정 대기)

운영체제 상에서 임계구역(Critical section:CS)이란 프로세스가 공유 자원을 변경할 수 있는 코드 부분을 의미한다. )이 때 공유자원은 공유 변수, 테이블, 파일 등을 뜻함).이러한 임계구역 상에서 경쟁조건이 발생하지 않도록 서로 협력하기 위한 방법으로서, 프로세스 동기화와 조정이 사용된다. 임계구역 문제를 해결하기 위한 해결방안으로써, 3가지 필요조건이 존재한다. 1) 상호배제 프로세스가 본인의 임계구역 상에서 실행중이라면, 다른 프로세스들은 자신의 임계구역 내에서 진행될 수 없다. 2) 진행 임계구역 상에서 진행되는 프로세스가 없고, 자신의 임계구역으로 진입하려는 프로세스가 있다면, 나머지 구역에서 실행하지 않는 프로세스들만이 cs에 진입하는 프로세스 결정에 참여한다. 그리고 CS 밖에서..

IT/Computer Science 2024.01.12

[자료구조] Linked List를 이용한 다항식 표현방법

Linked list를 통한 다항식의 표현과정은 크게 두가지이다. 1) 다항식의 모든 항을 배열에 저장함으로써 구현하는 방법 다항식의 각종 연산이 간단해진다는 장점이 있다. 해당 항의 값을 추출하여 연산하면 되기 때문이다. 그러나 대부분의 항의 계수가 0이면 공간 낭비가 심해진다는 단점을 갖고 있다. 이를 극복하기 위한 방법으로 다음 방법을 쓴다. 2) 다항식의 계수가 0이 아닌 항만을 배열에 저장하는 방법 하나의 배열로 여러 개의 다항식을 나타낼 수 있는 방법이다. 메모리 공간 측면에서는 효율적이지만, 다항식의 연산이 복잡해진다.

IT/Computer Science 2024.01.11

[컴퓨터구조론] RAID의 종류 (RAID - 1~5) (Chap.6 보조기억장치)

RAID는 디스크 배열의 결함허용도를 높이기 위한 방법으로서, 검사 디스크들을 이용하여 오류를 검출하고 복구 기능을 추가한 방법이다. 디스크 결함이 생길 시, 복구 절차는 다음과 같다. 1) 해당 디스크 사용 중단 및 시스템으로부터 분리한다. 2) 검사 디스크에 저장된 정보를 이용하여 원래의 데이터를 복구한다 3) 결함을 수리하고 디스크를 재설치한다. 4) 시스템을 재구성하여 원래의 디스크 용량을 회복한다. 이러한 RAID는 크게 다섯 종류로 이루어져 있는데, 다음과 같다. 1) RAID- 1 디스크 미러링 방식을 이용한다. 데이터 디스크에 저장된 모든 데이터들은 짝을 이루고 있는 미러 디스크의 같은 위치에 복사된다. 거의 완전한 결함허용도를 제공하는 반면, 비싼 가격이 단점으로 작용한다. 2) RAID..

IT/Computer Science 2024.01.11

[운영체제] 다중 쓰레드 모델(Many-to-one 모델, One-to-One 모델, Many-to-Many 모델)

쓰레드는 사용자 쓰레드와 커널 쓰레드로 나눌 수 있다. 사용자 쓰레드는 thread library에 의해서 커널 지원 없이 사용자 수준에서 제공한다. 커널 쓰레드는 OS 커널에서 직접 지원되고 관리된다. 현대 운영체제(windows,Solaris, Linux, Mac OS)는모두 커널 쓰레드를 지원한다. 이 떄 사용자 프로그램의 쓰레드와 커널 쓰레드 간에 여러 연관 관계가 존재하는데, Many-to-One 모델, One-to-One 모델, Many-to-Many모델로 볼 수 있다. 1) Many-to-One 모델 (solaris 구버전) 다수의 user-level thread가 한 개의 kernel thread에 연관되는 모델으로, thread 스케줄링과 동기화가 사용자 공간의 thread library..

IT/Computer Science 2024.01.10

[컴퓨터구조론] 캐시 메모리(목적, 캐시 기억장치, 캐시 적중률- 평균 기억장치 액세스 시간 관계)

캐시 메모리는 CPU와 주기억장치의 속도 차이로 인한 CPU 대기 시간을 최소화하기 위하여 CPU와 주기억장치 사이에 설치하는 고속 반도체 기억장치이다. Cache memory의 특징은 다음과 같다. - 주기억장치(DRAM)보다 액세스 속도가 더 높은 칩(SRAM)을 사용한다. - 가격 및 제한된 공간으로 인해 용량이 적다. 캐시에서 중요한 개념 중 하나는 캐시 적중률이다. 캐시 적중이란, CPU가 원하는 데이터가 캐시에 있는 상태를 뜻한다. 반대로 캐시 미스란, CPU가 원하는 데이터가 캐시 내에 없는 상태를 뜻한다. 캐시 적중률 H = 캐시가 적중되는 횟수/ 전체 기억장체 액세스 횟수 로 구한다. 캐시의 적중률이 높아질수록 평균 기억장치 액세스 시간은 캐시 액세스 시간에 접근한다. 그리고 캐시 적중률..

IT/Computer Science 2024.01.09

[운영체제] 쓰레드 개념, TCB(쓰레드 제어 블록)에 대하여

쓰레드는 CPU 이용의 기본 실행 단위로서, 단일 쓰레드(하나의 실행단위로 구성되는 쓰레드 프로세스)와 다중 쓰레드(여러 개의 실행 쓰레드를 갖는 프로세스) 로 나눈다. 쓰레드 사용 자원은 같은 프로세스에 속한 다른 쓰레드들과 코드, 데이터, os 자원들을 공유한다. (파일 오픈 시 공유됨) stack, CPU register 저장공간은 쓰레드 전용공간을 사용한다. Thread Control Block(TCB)는 쓰레드에 대한 정보를 보관하는 보관소이다. thread ID와 thread 실행상태 , program counter와 register set으로 구성된 thread context, 그리고 thread specific 메모리 공간(정적 메모리)를 가지고 있다.

IT/Computer Science 2024.01.08

[컴퓨터구조론] 기억장치 계층 구조도, 구분(내부/외부)

기억장치 계층은 내부 기억장치와 외부 기억장치로 구분된다. 상위 층으로 갈 수록 비트당 가격이 높아지고 용량은 감소하지만, 액세스 시간이 짧아지고 CPU에 대한 엑세스 빈도는 상승한다. 하위 층으로 갈 수록 비트당 가격은 떨어지고 용량은 증가하지만, 지역성 원리로 인하여 엑세스 빈도는 더 낮아진다. 내부 기억장치로는 CPU 레지스터와 캐시, 주기억장치가 해당된다. 이들은 CPU가 직접 액세스할 수 있는 기억장치들이다. 외부 기억장치는 CPU가 직접 액세스 할 수 없고, 장치 제어기들을 통해서만 액세스 할 수 있는 기억장치들이다. 디스크와 SSD, CD-ROM등이 해당된다.

IT/Computer Science 2024.01.07

[컴퓨터구조론] 마이크로프로그래밍의 정의 , 수직적/수평적 마이크로그래밍 개념

마이크로프로그래밍은 컴퓨터 아키텍처에서 중요한 개념 중 하나이다. 이는 컴퓨터의 제어 유닛이 명령어를 해석하고 실행하기 위해 마이크로 명령어 집합을 사용하는 프로그래밍 기술이다. 마이크로 프로그래밍은 수직적/수평적 마이크로프로그래밍으로 나눈다. 1) 수직적 마이크로프로그래밍 마이크로명령어의 연산 필드에 적은 수의 코드화된 비트들을 포함시키고, 해독기를 이용하여 그 비트들을 필요한 수 만큼의 제어 신호들로 확장하는 방식이다. 마이크로명령어의 길이를 최소화 할 수 있어 제어 기억장치의 용량이 감소한다는 장점을 가지지만, 해독 동작에 걸리는 만큼의 지연 시간을 발생시킨다. 2) 수평적 마이크로프로그래밍 연산 필드의 각 비트와 제어 신호를 1:1로 대응시키는 방식이다. 필요한 제어 신호 수만큼의 비트들로 이루어..

IT/Computer Science 2024.01.06

[운영체제] Pipe에 관하여(정의, 일반& 지명 pipe의 구분 및 비교)

운영체제 상에서 파이프는 두 개의 프로세스가 서로 통신이 가능하도록 전달하는 역할을 수행한다. 파이프를 설계 시 고려해야 할 점은 다음과 같다. - 통신 방향: 단뱡향 파이프 or 양방향 파이프 - 양방향 파이프를 설정할 경우 : 반이중 or 전이중 파이프 - 통신하는 두 프로세스 간에 특별한 관계가 필요한 지 여부 - 네트워크 통신 가능 여부 파이프는 일반 파이프와 지명 파이프로 나뉜다. 일반 파이프는 생성한프로세스만 접근 가능하고, 부모 프로세스가 파이프를 생성하고 자식 프로세스를 생성하여 파이프를 사용하여 자식 프로세스와 통신한다. 지명 파이프는 파이프 특성을 가지지만, 보통의 파일처럼 존재한다. 지명 파이프를 사용하는 프로세스는 부모-자식 관계가 필요하지 않다.

IT/Computer Science 2024.01.05
반응형