컴퓨터과학 26

대역폭과 지연 시간의 차이에 대해 알아보자

대역폭과 지연 시간의 차이에 대해 알아보자대역폭기존에 알고 있던 대역폭은 헤르츠 단위의 대역폭으로, FM, AM과 같은 개념이 떠오른다.네트워크에서 다루는 대역폭은 비트율 단위의 대역폭으로, 채널이나 링크에서 통과하는 초당 비트 수를 말한다. 지연 시간송신지에서 수신지로 전달되는 데 걸리는 시간이다.구체적으로 전파 시간, 전송 시간, 큐 시간, 처리 시간을 합친 값이다. 전파 시간: 송신지에서 수신지까지 이동하는데 소요되는 시간; 거리 / 전파 속도전송 시간: 첫 비트가 출발하고 마지막 비트가 출발할 때까지의 시간; 데이터의 크기(한 묶음의 비트들) / 대역폭큐 시간: 라우터와 같은 중간 장치에서 메세지를 큐에 저장하고 있는 시간처리 시간: 각 노드에서 데이터의 처리에 필요한 시간 위 내용을 가지고 다시..

컴퓨터과학 2024.04.18

[운영체제] 페이징 (2)

페이징페이지 테이블 관리 페이지 테이블은 메모리 관리자가 자주 사용하는 자료구조이므로 빨리 접근할 수 있어야 한다.따라서 페이지테이블을 물리 메모리 영역 중 운영체제 영역의 일부분에 모아놓는다. 프로세스마다 페이지 테이블이 하나씩 있기 때문에프로세스의 수가 많아질수록 페이지 테이블의 크기가 커지고 프로세스가 사용할 수 있는 영역의 크기가 줄어든다.예시를 통해 페이지 테이블의 크기를 계산해보자. 페이지 테이블의 크기 예시32bit cpu와 512바이트 페이징 시스템이 있다고 가정하자.각 프로세스마다 최대 메모리 크기는 약 4GB를 할당이고 512B 페이지로 나눈 페이지 테이블의 실제 크기는 약 24.11MB 라고 한다.실행 중인 프로세스가 40개라면 무려 1GB를 페이지 테이블에 할당해야 한다. 한편, 페..

컴퓨터과학 2024.03.17

[운영체제] 페이징 (1)

페이징페이징이란, 프로세스와 메모리를 일정한 크기로 잘라서 페이지와 프레임으로 사용하는 방식이다.운영체제는 재배치 레지스터와 페이지 테이블을 통해 나눠진 프로세스를 마치 연속된 메모리 공간에 있는 것처럼 동작하게 한다. 논리 주소에서 물리 주소로 변화하는 과정 논리 주소는 페이지 테이블에 의해 물리 주소로 변환된다.논리 주소는 이진수의 비트 단위로 표현되고 하위 비트에 오프셋, 상위 비트에 페이지 번호값을 가진다. 보다 쉽게 정리하면 다음과 같다.논리 주소는 1바이트이고 페이지는 여러 논리 주소를 포함한다.따라서 논리 주소를 표현하기 위해서는1. 어떤 페이지 안에 2. 페이지 안에 있는 주소 중 몇 번째 를 찾아야 한다.위 오프셋은 몇 번째를 의미하고 페이지 번호 값이 어떤 페이지를 가리키는지 알려준다...

컴퓨터과학 2024.03.16

[운영체제] 물리 메모리 관리

물리 메모리 관리메모리 관리 폰노이만 구조에서 메모리는 유일한 작업 공간이며 모든 프로그램은 메모리에 올라와야 실행할 수 있다. 메모리는 1바이트 크기로 나뉜다. 1바이트마다 주소가 주어지며 0번지부터 시작한다.메모리에 있는 데이터가 cpu로 오기까지 과정은 다음과 같다.접근하려는 메모리 주소를 메모리 주소 레지스터에 저장한다.주소가 버스를 통해 메모리에 전달되면 해당 주소의 값을 버스를 통해 메모리 버퍼 레지스터로 보낸다. 운영체제를 포함하여 여러 작업을 동시에 처리할 때, 메모리를 관리하는 시스템을 메모리 관리 시스템(MMS)라고 한다. 소스코드의 번역과 실행 컴퓨터에서 작동하는 응용 프로그램은 프로그래밍 언어로 만들며, 실행 가능한 코드로 변경한다.언어 번역 프로그램은 고급언어로 작성한 소스코드를 ..

컴퓨터과학 2024.03.16

[전공 복습] 3. 데이터베이스

3. 데이터베이스 Transaction 데이터베이스에서 수행되는 여러 작업을 하나의 논리적 단위로 수행하는 것 데이터베이스를 많은 사용자가 동시에 접근한다. 동시성 제어를 통해 다수 사용자가 동시에 접근하도록 허용하면서 데이터베이스의 일관성을 유지하도록 한다. 트랜잭션을 실행하는 도중에 시스템이 고장 나도 데이터베이스의 일관성을 유지한다. 일관성이란? 데이터베이스를 구성할 때에 정해놓은 규칙들은 트랜잭션을 성공하고 나서도 계속해서 유지되어야 한다. 만약 쿼리 실행 도중에 멈춘다면, 일관성이 깨졌다고 표현한다. DBMS는 트랜잭션 단위로 작업을 관리하고, 동시성 제어, 장애 발생 시로부터 회복하는 기능이 핵심이라 할 수 있다. 예시 전체 사원의 급여를 6% 인상하려고 한다. UPDATE EMPLOYEE S..

컴퓨터과학 2024.03.13

[전공 복습] 2. 네트워크

2. 네트워크TCP, Transmission Control Protocol 전송 계층에 해당하는 네트워크 프로토콜로 연결형 서비스를 지원하고 데이터의 신뢰성을 보장한다.신뢰성을 보장하기 위해 흐름 제어, 혼합 제어, 오류 제어를 한다. TCP의 특징 송신부와 수신부의 연결을 확인하는 연결형 서비스이다. 연결에는 3-way 핸드 쉐이킹이 사용된다.패킷 교환 방식은 가상의 경로를 설정하는 가상 회선 방식이다. 따라서 패킷의 전송 순서가 보장된다.송신부와 수신부는 1:1 통신을 한다.데이터 손실이 없음을 보장한다. 뒤에 나올 핸드쉐이킹을 이해하기 위해서는 송신부와 수신부가 사전에 연결하면서 보내는 신호에 포함된 flag를 알아야한다.flag는 6비트로 전송되며 6개의 상태가 존재하고 각 상태에 맞는 비트를 1..

컴퓨터과학 2024.03.13

[전공 복습] 1-2. 운영체제

1-2. 운영체제스케줄링 장기 스케줄링준비 큐에 어떤 프로세스를 넣을지 결정하여 메모리에 올라가는 프로세스를 조절한다. 중기 스케줄링메모리에 올라온 프로세스의 수를 동적으로 조절한다.스왑 아웃으로 프로세스를 디스크에 저장하거나 스왑 인으로 저장했던 프로세스를 메모리로 다시 올린다.스왑 아웃된 프로세스는 중단 상태가 된다. 단기 스케줄링준비 큐에 있는 프로세스 중에 실행할 프로세스를 결정한다. 위 그림에는 장기, 중기, 단기 스케줄링을 나타내고 있다. 위 그림은 스케줄러 관점에서 스케줄링을 표현하고 있다.실행 상태에서 준비 큐나 대기 큐로 전환됨을 확인할 수 있다. 비선점형 스케줄링 실행 중인 프로세스가 종료될 때까지 다른 프로세스를 실행할 수 없다.다음의 종류가 있다.FCFS: 준비 큐에 들어온 순서대로..

컴퓨터과학 2024.03.13

[전공 복습] 1-1. 운영체제

1-1. 운영체제운영체제란? 하드웨어와 응용 프로그램을 연결하는 소프트웨어 계층이다. 시스템 자원을 관리하고 자원을 사용할 수 있는 환경을 제공한다. 커널과 시스템 콜 커널은 운영체제의 핵심 요소로, 스케줄링과 메모리 관리 등을 담당한다.운영체제는 중요 자원을 보호하기 위해서 커널 모드와 사용자 모드를 나눈다.커널 모드는 하드웨어에 직접 접근할 수 있고 사용자 모드에서는 커널 모드의 자원에 접근할 수 없다. 사용자 모드에서 실행된 프로세스가 시스템 자원을 사용하기 위해서는 시스템 콜을 호출해야한다.커널은 시스템 콜로 요청을 받고 다시 시스템 콜로 값을 반환한다.시스템 콜의 예로는 자식 프로세스를 생성하는 fork(), 부모 프로세스가 자식 프로세스를 기다리는 wait()가 있다. 프로세스와 스레드 프로그..

컴퓨터과학 2024.03.13

[운영체제] 프로세스 동기화

프로세스 동기화서로 다른 프로세스가 공유 자원에 접근하면 여러 문제가 생길 수 있다.먼저 프로세스 간의 통신 방법에 대해 알아보고 여러 문제란 무엇인지, 동기화는 무엇이고, 어떻게 동기화 하는지 알아보자. 프로세스 간 통신 IPC, Inter Process Communication프로세스와 프로세스가 데이터를 주고받을 수 있는 통신 방법 종류 공유 메모리나 공유 파일을 이용한 통신파이프를 이용한 통신소켓을 이용한 통신 공유 데이터와 파이프를 이용한 통신은 단방향 통신이기 때문에데이터는 보내는 작업과 받는 작업을 하는 공유 메모리 2개 혹은 2개의 파이프가 필요하다.반면에, 소켓은 양방향 통신을 지원한다. 공유 메모리를 사용하는 통신의 가장 큰 문제는 상대방이 언제 데이터를 보내는지 알 수 없다는 점이다..

컴퓨터과학 2024.03.12