cs
-
[CS 운영체제] 메모리 관리 ICS📟 2023. 1. 16. 21:32
메모리란? 주소를 통해서 접근하는 장치 Logical Address 메모리에 올라가기 전 프로세스마다 가지고 있는 독자적인 가상 메모리 주소 공간 각 프로세스마다 0번지부터 시작 CPU가 보는 주소 physical address 메모리가 실제 올라가는 물리적 주소 주소 바인딩 주소를 결정하는 것 Compile time binding 컴파일시 물리적 주소에 바인딩을 진행 현대 운영체제에서는 알맞지않음 범용컴퓨터(하나의 프로그램만 돌아가는)에서는 사용가능 컴파일러는 절대코드를 생성 Load time binding Loader의 책임하에 물리적 메모리 주소 부여 컴파일러가 재배치가능코드를 생성한 경우 가능 Execution time binding (=Run time) 수행이 시작된 이후에도 프로세스의 메모리 ..
-
CS 스터디 - 운영체제 : 병행제어 ICS📟 2022. 11. 4. 19:33
Process Synchronization 데이터의 접근 컴퓨터에서 연산을 할 때 데이터를 불러와서 연산을 하고 결과를 반환하게 된다. 문제 여러 곳에서 데이터에 접근을 할때 Race Condition (경쟁 상태) 운영체제가 개입을 할 때 발생 가능 원래 프로세스는 자신의 데이터 영역만 접근하기 때문에 이런 문제가 있을 수 없지만 운영체제가 개입을 하는 경우 운영체제 안에 있는 데이터를 건드리게 되면 문제가 발생 가능 시스템 콜을 사용해서 커널 모드로 진행 중에 CPU를 뺏기게 되면(Context Switch) 연산 중이던 값이 반영이 안 됨 해결 방안 커널 모드에서 수행 중일 때는 CPU를 preempt하지 않음 커널 모드에서 인터럽트가 발생 인터럽트 시에 변환된 값이 반영되지 않는다. 해결 방안 공..
-
[CS] 운영체제 - CPU 스케줄링CS📟 2022. 11. 3. 00:55
CPU 스케줄링 CPU and I/O burst ( 하나의 프로세스의 일생 ) CPU bound job CPU를 길게 쓰는 프로그램 예) 계산을 오래 하는 작업 I/O bound job CPU를 비교적 짧게 사용 예) 주로 사람과 인터렉션하는 프로그램 여러 종류의 job이 섞여 있기때문에 CPU 스케줄링이 필요하다 I/O bound job을 먼저 CPU를 주면 짧게 쓰고 I/O 장치를 사용하러 가지만 CPU bound job을 먼저 주면 I/O 장치까지 놀게 될 수 있다. CPU Scheduler & Dispatcher CPU Scheduler 여러 작업이 존재하기에 스케줄링이 필요 Ready 상태의 프로세스 중 CPU를 줄 프로세스를 고른다. Dispatcher CPU의 제어권을 CPU Schedule..
-
[CS 스터디] 운영체제 개요CS📟 2022. 10. 7. 11:14
* KMOC 반효경 교수님의 운영체제 수업을 듣고 정리하는 내용입니다. 운영체제 개요 운영체제란? 유저가 컴퓨터 하드웨어를 알지 못해도 사용할 수 있게 도와주는 하드웨어와 소프웨어를 연결해주는 계층 목적 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공 운영체제는 동시 사용자/프로그램들이 각각 하나의 컴퓨터에서 수행되는 것 같은 일루젼 제공 하드웨어를 다루는 부분을 운영체제가 컨트롤 컴퓨터 시스템의 자원을 관리 CPU, 메모리, I/O 장치 등의 효율적 관리 주언진 자원으로 최대한의 성능을 내도록 관리 (효율성) 특정 사용자/프로그램에 지나친 부이익이 발생하지 않도록 관리 (형평성) 사용자 및 운영체제 자신 보호 컴퓨터 시스템의 구조 내부 CPU CPU 스케줄링 CPU 사용권 분배 메모리 사용할 프로..
-
[TCP/IP] 네트워크 인터페이스 계층CS📟 2022. 9. 4. 01:52
네트워크 인터페이스 계층 하드웨어를 제어하고 이와 연결된 다른 기기까지 데이터를 전달 하드웨어들의 동작에 구애받지 않고 인터넷 계층이 동작할 수 있게 만들어 주는 역할 참고 OSI에서는 소프트웨어 관련된 부분을 데이터 링크 계층이라 하고 하드웨어와 관련된 부분을 물리 계층이라고 구분 MAC Address 네트워크 어뎁터에 MAc Address라는 식별 번호가 부여 제조 단계에서 부여 유선 LAN, 이더넷, 무선 LAN 외에도 블루투스 같은 통신에 활용 프레임 안에 송신지와 수신지의 MAC Address 정보가 들어감 프레임 : 네트워크 인터페이스 계층이 보내는 데이터 IP Address 는 최종 목적지가 설정되면 변경되지 않지만 MAC Address는 경로상의 다음 장비의 Address로 변경 이더넷 유..
-
[TCP/IP] 트랜스포트 계층CS📟 2022. 8. 20. 18:56
트랜스포트 계층의 역할 애플리케이션 계층과 인터넷 계층 사이에 존재 수신지의 애플리케이션에 데이터를 전달하는 것 TCP와 UDP를 주로 사용 포트 번호로 애플리케이션을 구분 TCP 데이터의 정확한 전달을 중요시 세그먼트 단위로 분할 데이터 본체 + TCP 헤더 헤더에 포트 번호나 일련번호가 포함 컨트롤 비트 현재 통신 상태를 표현하는 플래그 역할 TCP 통신 제어 9개의 플래그가 ON/OFF로 상태 표현 전송 속도 조절 통신 상태에 따라 전송량 조절 윈도우 사이즈에 수시로 현재의 수신 가능한 양을 알려줌 (흐름 제어) 버퍼가 가득 차면 일시 중지 윈도우 프로브 패킷이나 탐색 패킷을 보냄 네트워크 혼잡 플래그가 ON이면 송수신 양쪽에서 ECE, CWR 플래그를 이용해 속도 조절 실패 시 재전송 주고받은 바..
-
[TCP/IP] CH1. 컴퓨터 네트워크와 TCP/IPCS📟 2022. 8. 4. 23:27
컴퓨터 네트워크 여러 대의 컴퓨터를 서로 연결하여 서로 데이터를 주고받을 수 있도록 망이 사전에 구축된 것 LAN(Local Area Network) : 비교적 근거리에 컴퓨터들이 연결 WAN(Wide Area Network) : 비교적 원거리에 컴퓨터들이 연결 인터넷 : 가장 규모가 큰 네트워크 무선 네트워크, 모바일 네트워크 : 무선 기술을 이용한 네트워크 서버와 클라이언트 서버 : 서비스를 제공하는 컴퓨터 클라이언트 : 서비스를 받는 컴퓨터 P2P(peer to peer) : 두 대의 컴퓨터가 서로 서버와 클라이언트의 역할을 동시에 함 패킷 교환 방식 이메일이나 파일과 같은 데이터를 패킷으로 분할 후 주고 받는 방식 패킷이란? 데이터의 전송 단위 자신이 가야할 주소 정보를 갖고 있음 회선 교환 VS..