CS 12

Chap 2: Application Layer (2)

5. Peer-to-Peer File Distribution 1) P2P 구조 상시 가동 서버가 없다. (always-on server) 임의의 end system이 직접 통신한다. 피어는 다른 피어에게 서비스를 요청하고 다른 피어에게 서비스를 제공한다. 자체 확장성(self scalability) 새로운 피어가 새로운 서비스 용량과 새로운 서비스 수요를 가져옴 피어가 간헐적으로 연결되어 IP 주소가 바뀐다. ex) P2P 파일 공유(BitTorrent), 스트리밍(KanKan) 2) File distribution client-server model 서버 전송: N개의 파일 사본을 순차적으로 전송(업로드)해야 한다. 1부 전송 시간: F/us N 사본을 보내는 시간: NF/us 클라이언트: 각 클라이언..

Chap 2: Application Layer (1)

1. Principels of Network Application1) Network Application ArchitecturesClient Server paradigm Serveralways on host (서버는 항상 켜진 상태여야 한다.)permanent IP address (고정된 IP 주소: 클라이언트가 접근해야 함)주로 규모가 큰 데이터 센터에 존재한다.Client서버와 연결 & 통신해 사용한다.intermittently connect (간헐적 접속, 접속하고 싶을 때 접속)dynaminc IP address (IP주소는 바뀌어도 상관 X, 클라이언트가 항상 먼저 요청)클라이언트끼리는 서로 통신하지 않는다. 2) Processes Communicatingprocess: 호스트 내에서 실행중인 ..

Chap 1: Computer Networks & Internet

1. What Is the Internet Nuts & Bolts Description 인터넷은 수많은 computing devices가 연결되어 있으며, 모든 디바이스는 host 혹은 end system이다. 이런 end system들은 통신 링크(communication link)와 패킷 스위치(packet switch)를 통해 네트워크로 연결된다. 1. 통신 링크들이 데이터를 전송할 때의 속도는 전송률(transmission rate)이라고 하며, 단위는 bps(bit per second)이다. 2. 패킷 스위치로는 라우터(router), 링크 계층 스위치(link-layer switch)가 있다. 이들의 목적은 패킷의 전송이며, 링크 계층 스위치는 액세스 네트워크에 쓰인다. 라우터는 네트워크 코어..

Chapter 11: 디스크와 스케줄링

많은 프로세스들이 파일접근요청을 하는데, 이는 커널을 통해 디스크 시스템으로 전달 11.1 디스크의 구조 💡 전체 디스크의 용량 계산하기 sec_size * 한트랙당 섹터수 * 한면당 트랙수 * 면(디스크개수*2-2) //위 아래는 보호면 디스크팩: 데이터를 저장 원판 디스크로 이루어짐 2가지 동작 회전축에의한 회전 붐(BOOM)에 의한 전후동작 디스크는 여러개의 트랙, 트랙은 여러개의 섹터 동심원의 트랙은 실린더라고 한다, 큰 프로그램은 실린더 단위로 저장 (헤드의 이동 최소) 디스크 드라이브: 데이터를 읽어내는 구동 장치 💡CAV (일정 각 속도) 하드디스크-회전속도가 일정 회전 속도가 항상 일정 바깥쪽 트랙이 더 빨리 돈다.& 바깥쪽 섹터의 길이 길지만 동일한 용량 바깥쪽섹터가 더 느슨하게 기록된다..

CS/운영체제 2022.05.23

Chapter 9: 가상 메모리의 관리

Page Fault Frequency (residence bit = 0)가 높을 수록 가상메모리의 장점이 줄어든다. → 커널의 개입을 통한 디스크와의 입출력을 요구 (프로세스 대기) 9.1 하드웨어의 사용 mapping에 걸리는 시간을 최소화 = 가상메모리의 성능 UP 추가 비용을 들여 하드웨어를 장착(ex. TLB) 📌 페이지를 관리하기 위한 정보 참조 비트 : 해당 페이지가 변경 없이 단순 참조 갱신 비트 : 해당 페이지의 내용 변경 9.2 관리 기법 적재 정책 실행에 필요한 페이지를 언제 적재할지 결정하는 정책 요구 적재(Demanding Fetch) 페이지가 참조될 때 적재하는 기법 장점 : 메모리에 관한 오버헤드가 없음 단점 : 적재될 때까지 해당 프로세스를 대기로 만드는 문맥교환과 디스크 입출..

CS/운영체제 2022.05.11

Chapter 8: 가상 메모리

8.1 가상메모리 프로그램을 작은 조각으로 나누어 적재한다. 사실은 제한적인 크기지만 큰 메모리가 있는 것처럼 여겨지게 한다. 가상메모리의 관리 : 한 번에 전송되는 단위(블록) 페이징 세그멘테이션 시스템 조각의 크기가 같음 (페이지) 조각의 크기가 다름 (세그먼트) 주소의 사상(mapping) : 가상 주소를 실 주소로 변환해주는 작업 가상주소: 프로그램에서 참조하는 주소 실제주소: 메모리상 주소 주소 사용 주소의 지정 컴파일 시에 일어남: 프로그램이 실행될 때 참조하는 주소가 컴파일 시 지정 참조 주소 = 실 주소 프로그램은 항상 메모리의 지정된 곳으로 적재(고정분할, 절대로더) 재배치: 메모리에서의 위치를 적재될 때마다 바꿈 프로그램이 통째로 연속적으로 메모리에 적재 프로그램의 첫 번째 줄을 0, ..

CS/운영체제 2022.05.10

Chapter 7: 메모리 관리

7.1 메모리의 구성 다중 프로그래밍의 정도(Multiprogramming Degree) degree란 메모리에 있는 프로세스의 개수 메모리의 분할 각 프로세스에게 메모리를 얼마나 할당 메모리의 분할 시기 고정 분할(fixed) / 정적 분할(static) 가변 분할(variable) / 동적 분할(dynamic) 메모리 할당 연속적 or 비연속적 7.2 메모리의 관리 적재 기법 요구 적재(demand fetch) 주로 사용 예상 적재(Anticipatory fetch) 배치 기법 적합 기법(fit) 교체 기법 메모리 공간이 부족할 경우 새로 적재돼야 할 프로세스를 위해 이미 메모리에 있는 프로세스를 골라 빼내서 공간 확보 할당 기법 프로세스에게 얼마나 메모리를 줄지 결정 7.3 단일 프로그래밍 한 번에..

CS/운영체제 2022.05.09

Chapter 6: 교착 상태(Dead Lock)

6.1 교착 상태 둘 이상의 프로세스가 각자 가지고 있던 자원을 보유한 채로 외부적 조치가 없는 한 영원히 그 상태에서 기다리고 있는 상황 근본 원인 시스템이 가지고 있는 한정적인 자원보다 사용하고자 하는 프로세스들의 요청이 더 많아서 생김 문제점 프로세스들이 더 이상 실행되지 못하여 사용자들에게 응답해 주지 못한다. 보유된 자원들이 교착 상태에서 벗어나기 전까지 전혀 활용되지 못한다. 자원 (Resource) 선점 가능(Preemptible) 선점 불가능(Nonpreemptible) 운영체제에 의해 사용 도중 뺏길 수 있음 선점이 불가능(뺏길 시 정상 진행 포기해야함) 공유 가능 자원(Sharable) 배타적 사용 자원(Exclusive) 동시에 사용가능 한번에 하나씩 사용 공유가능 프로그램, 공유 데..

CS/운영체제 2022.05.05

Chapter 5: 병행 프로세스와 동기화

5.1 병행 프로세스 병행(concurrent): 메모리에 다수의 프로세스가 같이 존재한다는 것 처리기(CPU)의 개수 상관 X 논리적 concurrent - 단일 처리 (실제로는 parallel 아님) 물리적 concurrent - 다중 처리(진정한 parallel) 병렬(Parallel): 다중처리 시스템의 경우 여러개의 프로세스가 동시에 병렬로 실행 병행(concurrent)전제 💡 병행 프로세스 사이의 비동기적(Asynchronous) 다른 프로세스들이 어떤 상태에 있는지, 어떤 자원을 가지고 있는지, 어디까지 실행됐는지 전혀 모름. 독립적이다. 병행 프로세스 사이의 Rule: 공유된 자원에 대해 한 번에 한 프로세스만이 접근하도록 하고, 해당 자원에 대해 의도했던 실행을 완료하도록 보장 5.2 ..

CS/운영체제 2022.05.03

Chapter 4: CPU 스케줄링

4.1 스케줄링의 단계 4.2 스케줄링의 목적과 기준 사용자 관점 응답 시간(reponse time) : 대화형 시스템에서 프로세스의 요청에 시스템이 최초 출력을 하는 시간 인터렉티브시스템 반환 시간(turn around time) : 일괄 처리의 경우, 요청으로부터 결과를 받는데 걸린 시간 배치시스템(일괄처리 시스템) 예측가능성 : 언제 끝날지 예측가능한가? 시스템 관점 처리량 : 단위 시간 동안 완료한 프로세스의 개수 ex. 인터렉티브시스템 활용도 : 주어진 시간 동안 특정 자원이 가동된 시간의 비율 ex. 배치시스템(일괄처리 시스템) 공평성 : CPU사용시간 공평하게 나누었나? 스케줄링 정책을 만들 때 고려해야할 기준 연산위주(CPU- bound) /입출력위주(I/O-bound)(비중높다) 응답 시..

CS/운영체제 2022.04.04