강파랑
  • 홈
  • 태그
  • 방명록
  • 메뉴 닫기
  • 글작성
  • 방명록
  • 환경설정
    • 분류 전체보기 (38)
      • CS (27)
        • Linux (3)
        • OS 수업 (9)
        • Network (3)
        • 네트워크 수업 (10)
        • DB (1)
      • Privacy (폐기) (0)
        • 목표 (폐기) (0)
        • 하루의 기록 (폐기) (0)
      • Language (2)
        • Kotlin (2)
      • 기타 (1)
  • 홈
  • 태그
  • 방명록
CS/OS 수업

운영체제 14주차(파일-디스크)

파일 서로 관련되어 있는 정보의 집합체 사용자의 관점에서는 파일은 논리적으로 저장되는 단위 운영체제는 논리적인 저장 단위를 디스크와 같은 물리적인 저장장치에 맵핑하여 저장 파일 시스템 운영체제의 기능으로서1) 사용자에게 파일 관리 기능 제공(파일과 디렉토리의 생성/삭제, 파일에 대한 조작, 공유, 보호 2) 파일을 저장장치에 저장한다. 응용분야 또는 저장장치의 특성에(e.g. 동영상 ..etc) 따라서 다양한 파일 시스템이 개발됨 FAT, NTFS(윈도우 제공), ext2, ext3, JFS, NFS, YAFFS 사용자가 파일 시스템을 선택해서 사용할 수 있음. 파일 시스템의 기능 파일 관리: 파일 생성, 참조, 삭제 및 보호 기능을 제공하며 적절한 제어방식을 통해 다른 사람의 파일을 공유할 수 있게 함..

2021. 6. 1. 01:42
CS

운영체제 11주차 (기억장치 관리, Memory Management)

기억장치(DRAM): 주소를 가지는 워드(또는 바이트)들로 구성 프로그램이 실행되기 위해서는 기억장치에 적재되어야 한다(적재된 프르그램 → 프로세스) 프로세스의 일반적인 실행과정 Program Counter register에서 가리키고 있는 주소에서 명령어를 CPU로 가져옴(fetch) 명령어를 해독(decode) 기억장치에서 피연산자를 CPU로 가져와서 피연산자에 대해 명령어를 실행(execute) 실행한 결과를 기억장치에 다시 저장(store) Process 생성 과정 프로세스 구성요소 코드(code) 데이터(data): 전역 변수들을 저장 스택(stack): 지역 변수 및 함수의 매개변수 저장 힙(heap): 동적 메모리 할당 영역 CPU 레지스터 PC(Program Counter): 프로그램의 다..

2021. 5. 11. 16:08
CS/네트워크 수업

컴퓨터 네트워크 10주차

IP 주소는 라우터 각각의 인터페이스와 연관. 많은 사람들이 착각하는 것이 IP 주소가 호스트 또는 라우터에 붙여지는 주소라고 생각하는 사람이 많은데, IP 주소가 호스트나 라우터에 붙는 게 아니라 호스트 또는 라우터의 인터페이스에 붙여주는 이름이다. 무슨 말이냐면 네트워크 접속을 위해 상요하는 네트워크 인터페이스 카드(랜카드)에 붙여주는 주소이다. 알겠냥! 위 그림을 보면 라우터에는 223.1.1.4, 223.1.2.9, 223.1.3.27 세 개의 IP 주소가 붙은 걸 볼 수 있다, 즉, 라우터는 가지고 있는 각 인터페이스마다 IP 주소가 붙는다. 위 라우터는 랜카드를 3개 가지고 있는 것을 알 수 있다. Subnet이란 subnet은 무엇인가? ⇒ IP 주소가 동일한 subnets part를 가지고..

2021. 5. 4. 17:39
CS/OS 수업

운영체제 10주차 - Deadlock

교착상태(Deadlock)란? 여러 프로세스들이 각자 자원(CPU, 메모리, IO장치, 파일, 세마포어 등)을 점유하고 있으면서 다른 프로세스가 점유하고 있는 자원을 요청하면서 무한히 대기하는 상태 e.g. 1: 시스템에 두 개의 테이프 드라이브가 있을 때, 프로세스 P1과 P2가 하나씩 테이프 드라이브를 사용하면서 상대방 프로세스의 테이프 드라이브를 필요로 함. e.g. 2: 두 개의 세마포어 A와 BP0 P1wait(B) wait(A) wait(A) wait(B) 각 자원은 여러 개의 사례(Instance)를 가질 수 있다(e.g. 시스템에 두 개의 CPU가 있다면 CPU 자원 유형은 두 개의 instance를 가짐) 프로스세가 자원을 사용하려면 다음 순서로 수행한다. 요청(request): 요청이 ..

2021. 5. 4. 01:05
CS/OS 수업

운영체제 9주차 (프로세스 동기화 개념, 임계 구역)

프로세스 동기화 (Synchronization)병행 프로세스(동시에 실행되는 프로세스)들이 서로 데이터를 주고 받으면서 수행될 때, 이 프로세스들 간의 동기화가 필요함.e.g. producer vs consumer problem두 개의 프로세스가 공유 메모리(버퍼)를 사용하여 데이터를 공유함.생산자 프로세스는 공유 메모리에 데이터를 생산소비자 프로세스는 공유 메모리의 데이터를 소비// 생산자 프로세스 while(1) { // produce an item and put in nextProduced. while(counter == BUFFER_SIZE/*100*/) { // counter 값이 100이면 cannot produce // do nothing } buffer[in] = nextProduced; ..

2021. 4. 27. 01:14
CS/네트워크 수업

컴퓨터 네트워크 9주차

목적지 주소가 위 템플릿의 각각의 주소 범위에 속하면, 0, 1, 2, link interface로 보내고, 해당 범위에 속하지 않으면 3 link interface로 보낸다. logest prefix matching은 고속 라우터 같은 경우에는, 주소를 찾을 때 한꺼번에 찾는다. content addressable: 원 사이클 내에, 테이블 사이즈에 상관없이 해당하는 영역에 맞는 주소를 찾아서 link interface를 준다. switching fabric: 패킷을 인풋 버퍼로부터 적절한 아웃풋 버퍼로 이동시켜 전달해준다(transmission) switching rate: 패킷들이 인풋으로부터 아우풋 쪽으로 전송되는 속도. 만약에 N개의 인풋이 있으면 switching rate는 N time lin..

2021. 4. 26. 13:39
CS/네트워크 수업

컴퓨터 네트워크 8주차

network layer는 호스트에서 호스트까지 패킷을 전달해주는 계층이다. 이 때 사용되는 프로토콜이 IP다. 라우팅: 목적지까지 갈 경로를 탐색포워딩: 찾은 경로에 맞게 전송network layer는 reliable network service를 제공할까? → 결론부터 말하면 nerwork layer는 신뢰성을 제공하지 않는다. 하지만 그렇다고 해서 착각하지 말아야 할 게, nerwork layer가 신뢰성을 제공하지 않는다고 해서, data link layer와 physical layer 역시 신뢰성을 제공하지 않는다고 생각하면 착각이다. 네트워크에 따라서 다르다. 데이터 링크 레이어는 노드에서 다른 노드로 갈 때까지는 동일한 프로토콜로 운영되면, 다음 노드에서 그 다음 노드까지는 아예 다른 프로토..

2021. 4. 23. 22:51
CS/OS 수업

운영체제 8주차

Starvation: 낮은 우선순위를 가진 프로세스가 계속 실행되지 못함 → why? 우선 순위가 낮기 때문에 계속 대기 상태로 있었는데, ready queue에 우선 순위가 높은 프로스스가 계속 들어오면 starvation이 된다. 그래서 오랫동안 준비 큐에 대기하는 프로세스를 우선 순위를 점차적으로 증가시킨다.(Aging) 라운드 로빈(Round Robin, RR) 스케줄링 시분할(time sharing) 시스템을 위해 만들어졌다. 각 프로세스는 시간량(또는 시간 할당량, time slice, time quantum ← 이 용어도 알아둘 것) 동안 CPU를 할당받는다(보통 10~100 ms). 이 시간이 지나면 프로세스는 CPU를 빼았기고 Ready Queue에 들어간다. Ready Queue는 선입..

2021. 4. 20. 13:34
CS/OS 수업

운영체제 7주차

입출력 요청이나 자식 프로세스가 종료되기를 기다림 → 시스템 콜을 호출해서 운영체제가 호출되고 운영체제는 실행상태인 프로세스를 대기 상태(waiting)로 전환. 프로세스가 대기 상태로 바뀌었으므로 운영체제는 스케줄링 결정 실행 상태(running)에서 준비 상태(ready) 상태로 전환될 때(인터럽트 발생) → e.g. 타이머나 입출력 장치에서 입출력이 종료되었을 때 → 인터럽트가 발생했으므로 운영체제가 개입하고 운영체제는 실행 중인 프로세스를 무조건 ready로 바꾸고 새로운 프로세스를 선택(스케줄링 결정) 대기 상태(waiting)에서 준비 상태(ready)로 전환될 때 → 입출력 OR 어떤 이벤트가 종료(e.g. 자식 프로세가 종료됐다 ⇒ exit 시스템 콜) → 인터럽트 → 운영체제 개입 → 운..

2021. 4. 14. 22:44
CS/네트워크 수업

컴퓨터 네트워크 7주차

Congestion Control(혼잡제어의 원리) 네트워크 혼잡이란 너무 많은 sender들이 너무 많은 데이터를 너무 빨리 보내서 네트워크 전체가 감당할 수 없는 상태. flow control과 다름. flow control(receiver가 overflow가 안 되도록 control)은 특정 receiver가 데이터를 처리를 못 할 때 사용하는 기법임. 시나리오 1 두 개의 sender와 두 개의 receiver 거치는 라우터는 하나이고, 라우터에 있는 버퍼는 무한 버퍼 → 버퍼에 한계가 없기 때문에 데이터가 얼마든지 대기할 수 있음 재전송은 없다고 가정 링크 수용량은 R이라고 하자. 애플리케이션 레이어에서 데이터의 양을 람단 in, output 데이터를 람다 out 이라고 하자. 두 개의 send..

2021. 4. 14. 17:01
CS/네트워크 수업

컴퓨터 네트워크 6주차

TCP(Transmission Control Protocol) Overviewpoint-to-point: 하나의 sender, 하나의 recevier상위층에 reliable 서비스 제공TCP는 piplining(go-back-n) & sliding window(selective repeat) 방식을 혼합해서 사용segment packet 순서 맞춰서 상위층에 제공in-order byte stream: 메시지를 바이트 단위로 본다. 즉 경계가 없다full duplex data: 동일한 연결 상에서는 양방향 데이터 전송MSS: Maximum Segment Size가 정해짐connection-oriented 서비스: 사전 연결 설정(3-way-handshaking): 데이전 송수신 전에 sender와 rece..

2021. 4. 7. 15:47
CS/OS 수업

운영체제 6주차

Pthread는 스레드 관리에 관련된 POSIX(UNIX 계열 라이브러리 표준) 표준 라이브러리 API이다(참고) pthread_t(int): 스레드 id pthread_attr_t(struct): 스레드 속성 정보 저장 구조체 pthread_attr_init(&attr): attr 값 초기화(라이브러리 함수) pthread_create(&tid, &attr, run, (void*)count): 스레드 번호 부여, 스레드 구조체에 스레드 정보 저장(거의 사용할 일 없음), 스레드를 실행할 함수, 함수에 전달할 매개변수 C에서는 개발자가 스레드 함수를 명시적으로 실행하지 않더라도 pthread_create(&tid, &attr, run, (void*)count)함수 실행이 완료되면 스레드가 만들어져서 자동..

2021. 4. 5. 02:40
CS/네트워크 수업

컴퓨터 네트워크 5주차

rdt2.2: NAK를 꼭 써야 하는가? 안 쓸 수는 없을까? rdt2.1 기능과 완전히 동일하지만 ACK만 사용해서 구현 패킷을 제대로 도착하지 않으면, 수신 측에서 NAK를 보내야 하지만, NAK 대신에 마지막 패킷에 대한 ACK를 송신한다. 예를 들어, 내가 0번 패킷을 잘 수신했고, 그 다음 패킷인 1번 패킷을 수신했는데 패킷이 깨졌으면 NAK를 보내야 하지만, NAK 대신에 시퀀스 번호 0번에 대한 ACK를 송신 측에 전송한다. → 그렇다면 송신 입장에서는 이전 패킷에 대한 ACK를 수신한 것이므로 duplicate ACK를 수신한 셈이 된다. 여기서 주의해야 할 점은 rdt2.1에서 ACK, NAK를 보낼 때는 ACK, NAK에는 시퀀스 번호가 없었다. 즉, rdt2.1 ACK 전송 방식으로는..

2021. 3. 29. 16:44
CS/네트워크 수업

컴퓨터 네트워크 3주차

1.6 netwoks under attack: security 1Bad guys: put malware into hosts via Internet초기의 인터넷 목표는 '신뢰할 수 있는 사용자들끼리 상호 통신' 을 목표로 했기 때문에 보안에 대한 문제를 생각하지 않았다. 그러나 현재의 인터넷은 보안의 대한 문제를 생각하지 않을 수 없으므로 모든 층에서 보안을 고려해야 한다malware(나쁜 소프트웨어)가 인터넷을 통해서 호스트에 침투할 수 있다. → virus, wormvirus는 자체적으로는 감염을 일으킬 수 없다. 즉, 숙주가 있어야 한다. 예를 들어, 이메일에 첨부 파일로 온 소프트웨어를 사용자가 실행을 해야 감염이 된다. work은 숙주가 없어도 된다. 스스로 실행할 수 있는 능력이 있음. 이런 오..

2021. 3. 23. 02:17
  • «
  • 1
  • 2
  • »

공지사항

전체 카테고리

  • 분류 전체보기 (38)
    • CS (27)
      • Linux (3)
      • OS 수업 (9)
      • Network (3)
      • 네트워크 수업 (10)
      • DB (1)
    • Privacy (폐기) (0)
      • 목표 (폐기) (0)
      • 하루의 기록 (폐기) (0)
    • Language (2)
      • Kotlin (2)
    • 기타 (1)
애드센스 광고 영역
  • 최근 글
  • 최근 댓글

최근 글

최근댓글

태그

  • #어른 #세네카
  • #kotlin
  • #페이징 매핑
  • #paging
  • #번 아웃 방지 프로세스
  • #DNS 동작과정
  • #yiaddr
  • #페이징
  • #연속할당
  • #incann
  • #Kernel은 항상 Memory Resident해야 한다.
  • #DNX
  • #다단계 피드백 큐
  • #색인할당
  • #RAID01
  • #sci #ec2 파일업로그 #aws
  • #Kernel
  • #Just Do It.
  • #naked domain
  • #NAT Translation Table
  • #RAID란?
  • #raid
  • #연결할당
  • #커널 스레드
  • #커널
  • #목표
  • #PCB
  • #파일 디스크
  • #zone apex
  • #WealthThinking
MORE

전체 방문자

오늘
어제
전체

블로그 인기글

Powered by Privatenote Copyright © 강파랑 All rights reserved. TistoryWhaleSkin3.4

티스토리툴바