본문 바로가기

컴퓨터과학54

[운영체제] 교착상태 (Deadlocks) Deadlocks 교착 상태 프로세스나 스레드가 결코 일어날 수 없는 특정 이벤트를 기타리는 것 대부분의 교착 상태는 전용 자원을 차지하려는 경쟁에서 발생 순환 대기는 교착 상태에 있는 시스템의 특징 교착 상태 성립 조건 상호 배제 조건 : 자원은 한 번에 한 프로세스에서만 배타적으로 점유 대기 조건 : 자원을 최소 1개 갖고있으면서 다른 자원을 기다리는 상태 비선점 조건 : 시스템이 프로세스의 제어를 빼앗을 수 없음 순환 대기 조건 두 프로세스 이상이 순환 고리 상태 각 프로세스는 고리 안에 있는 다음 프로세스가 점유하고 있는 자원을 대기 교착 상태 해결책 교착 상태 방지 대기 조건 거부 자원을 요청할 땐 어느 자원도 소유하고 있지 않아야함 단점 : 자원의 낭비 비선점 조건 거부 하나 이상의 자원을 소.. 2021. 1. 20.
[운영체제] 동기화 (Synchronization) Synchronization Shared data : 여러 프로세스들이 공유하는 데이터 (Critical data) Critical section (임계구역): 공유 데이터를 접근하는 고드 영역 Mutual exclusion : 둘 이상의 프로세스가 동시에 임계구역에 진입하는 것을 막는것 임계 구역 문제 누가 먼저 공유데이터에 접근? 공유 데이터에 누가 접근하고 있는지? 공유 데이터를 어떤 순서로 접근할지? 솔루션 Mutual Exclusion - 쓰고있으면 다른 프로세스는 못 들어옴 Progress - 누군가 기다린다면, 대기 시간이 무한이되면 안됨 Bounded Waiting - 임계 구역 진입 횟수를 제한하여 독점하지 못하도록 Peterson's Solution sw 수준 two process so.. 2021. 1. 19.
[운영체제] 스케줄링 (Scheduling) Scheduling 보다 효율적인 자원의 활용을 위해 어떤 작업을 메모리에 올리고 어떤 작업에게 자원을 할당 해야하는 지 결정 CPU-burst : CPU 자원을 많이 요구하는 작업 I/O-burst : I/O 사용이 많은 작업 Non-preemptive : 프로세스가 스스로 자원을 반납하는 방식 Preemptive : 프로세스가 스스로 자원을 반납하기 전에 강제로 회수할 수 있는 방식 스케줄링 알고리즘 성능 판단 기준 CPU Utilization - cpu를 최대한 바쁘게 Throughput - 시가 단위안에 실행이 완료되는 프로세스의 수 Turnaround Time - 하나의 프로세스가 시작에서 종료까지 걸리는 시간 Waiting Time - 하나의 프로세스가 레디큐에서 기다린 총 시간 Respons.. 2021. 1. 18.
[네트워크] 헷갈리는 개념 정리 ARP 3계층 주소(IP)로 2계층 주소(MAC)을 알아내는 프로토콜이다. 네트워크에서는 라우터와 스위치가 사용되는데 , 라우터는 IP 주소를 기반으로 지역적으로 알맞은 곳(LAN)에 패킷을 전달하고, 스위치는 MAC 주소를 기반으로 해당 패킷의 목적지 host에 전달해 준다. 즉, host에 직접 전달하기 위해선 MAC주소가 필요하다. 이를 위해 ARP를 사용 ARP 패킷은 IP주소를 바탕으로 목적지 host가 있는 LAN까지 전달되어 broadcasting되어 연결된 모든 host에 IP주소를 물어봐서 매칭되는 host의 MAC주소를 응답으로 받는다. Multicast VS Broadcast Broadcast는 한 네트워크에 150개의 장비가 있다면 150개 전부에게 쏘는 것, Multicast는 한.. 2020. 10. 26.
네트워크 프로그래밍 - Network Model Layered Model OSI Model Application Presentation Session Transport Network Data link Physical 각 계층에서 헤더를 붙여서 (possibly trailer) encapsulation / decapsulation Application Layer message를 생성 Presentation Layer bitstream으로 변형 Session Layer session을 관리 보통 하나의 application이 3개의 계층을 모두 관리 Transport Layer Process (or port) addressing Segmentation and reassembly of a message a process : 실행 중인 프로그램, 실존하는 객.. 2020. 9. 10.
네트워크 프로그래밍 - Internet Overview Internet의 구조 What's the Internet Internet : 네트워크의 네트워크 (network of network) ISP(Internet Service Providers, 통신사업자)를 연결 protocol : 통신 규칙 Infrastructure : application을 서비스 Internet infrastructure end devices (hosts) 인터넷에 가장 마지막 단에 붙어있는 장치 PC, 스마트폰, 서버, ... communication links (연결) 광섬유, 구리선, 무선, 인공위성, ... packet switches (중계기, forward packets) Router, Switch network structure access network 호스트가 있는.. 2020. 9. 8.