728x90

CS 92

메모리 단편화

메모리 단편화(Memory Fragmentation)가 무엇이고 왜 발생하는가? (tistory.com) 메모리 단편화(Memory Fragmentation)가 무엇이고 왜 발생하는가? 메모리 단편화가 무엇이고 왜 발생하는가? 메모리 단편화 - RAM에서 메모리의 공간이 작은 조각으로 나뉘어져 사용가능한 메모리가 충분히 존재하지만 할당(사용)이 불가능한 상태를 보고 메모 jeong-pro.tistory.com 컴퓨터에서 프로그램을 실행하거나 작업을 할 때 컴퓨터는 메모리에 해당 프로그램을 올리고 실행을 하게 됨 이때 주기억장치 상에서 빈번하게 기억 장소가 할당되고 반납됨에 따라 메모리 공간이 작은 조각 공간으로 나뉘게 될 경우, 사용 가능한 메모리가 충분함에도 불구하고 메모리 할당이 불가능한 상태가 발생..

CS/운영체제 2023.12.07

리틀앤디안과 빅앤디안

[개념정리] 빅엔디안(Big Endian)과 리틀엔디안(Little Endian) (tistory.com) [개념정리] 빅엔디안(Big Endian)과 리틀엔디안(Little Endian) 통신을 하다 보면 통신 패킷이 반대로 나갈 때가 있습니다. 예를 들면 1 2 3 4를 보냈는데 막상 받는 쪽에서 들어온 패킷은 4 3 2 1인 거죠 이는 컴퓨터 CPU의 데이터를 저장하는 순서에서 발생하는 softtone-someday.tistory.com 바이트 저장 순서에 따라 빅 엔디안, 리틀 앤디안으로 나뉨 * 빅 엔디안(Big Endian) : 저장할 때 상위 바이트. 즉, 큰 쪽을 먼저 저장하는 것 (0x3412 => 34 다음에 12 순서로 전송) * 리틀 엔디안(Little Endian) : 저장할 때 ..

CS/운영체제 2023.12.07

데드락(Deadlock)과 해결방법

데드락 (DeadLock, 교착 상태) | 👨🏻‍💻 Tech Interview (gyoogle.dev) 데드락 (DeadLock, 교착 상태) | 👨🏻‍💻 Tech Interview 데드락 (DeadLock, 교착 상태) 두 개 이상의 프로세스나 스레드가 서로 자원을 얻지 못해서 다음 처리를 하지 못하는 상태 무한히 다음 자원을 기다리게 되는 상태를 말한다. 시스템적으로 한정된 gyoogle.dev 데드락: 두 개 이상의 프로세스나 스레드가 서로 자원을 얻지 못해서 다음 처리를 하지 못하는 상태 무한히 다음 자원을 기다리게 되는 상태를 말한다. 시스템적으로 한정된 자원을 여러 곳에서 사용하려고 할 때 발생한다. 멀티 프로그래밍 환경에서 한정된 자원을 얻기 위해 서로 경쟁하는 상황 발생 대기 상태로 들어간..

CS/운영체제 2023.11.22

스핀락(SpinLock)

스핀락 - 위키백과, 우리 모두의 백과사전 (wikipedia.org) 스핀락 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 스핀락(spinlock)은 임계 구역(critical section)에 진입이 불가능할 때 진입이 가능할 때까지 루프를 돌면서 재시도하는 방식으로 구현된 락을 가리킨다. 스핀락이라 ko.wikipedia.org '조금만 기다리면 바로 쓸 수 있는데 굳이 Context Switching으로 부하를 줄 필요가 있나?'라는 컨셉으로 개발된 것 스핀락(spinlock)은 임계 구역(critical section)에 진입이 불가능할 때 진입이 가능할 때까지 루프를 돌면서 재시도하는 방식으로 구현된 락 스핀락이라는 이름은 락을 획득할 때까지 해당 스레드가 빙빙 돌고 있..

CS/운영체제 2023.11.22

쓰레드를 많이 만들면?

🤔 스레드를 많이 쓸수록 항상 성능이 좋아질까? (tistory.com) 🤔 스레드를 많이 쓸수록 항상 성능이 좋아질까? 스레드를 많이 쓰면 쓸수록 성능이 높아지는가 프로세스와 스레드를 처음 학습할때, 스레드는 프로세스 내에 존재하는 실행 단위이며, 이 스레드가 여러개인 덕분에 우리가 음악을 들으며 웹서 inpa.tistory.com 스레드가 여러개인 덕분에 음악을 들으며 웹서핑을 하거나 일을 다운받는 '동시작업'이 가능함 그렇다고 멀티스레드가 무조건 성능이 좋은 것은 아님. 왜 멀티스레드가 항상 성능이 좋지 않은지 멀티스레드는 자원을 공유하기 때문에 프로세스 생성에 비해 장점: 적은 메모리, 적은 자원을 소모 / 컨텍스트 스위칭 빠르다 단점: 여러 개의 스레드가 임계 영역의 공유자원에 접근할 수 있기 ..

CS/운영체제 2023.11.22

컨텍스트 스위칭

운영체제 5: 컨텍스트 스위칭 (Context Switching) :: 머신러닝을 배웠던 데이터 엔지니어 (tistory.com) 운영체제 5: 컨텍스트 스위칭 (Context Switching) 컨텍스트 스위칭이란 여러개의 프로세스가 실행되고 있을 때 기존에 실행되던 프로세스를 중단하고 다른 프로세스를 실행하는 것. 즉, CPU에 실행할 프로세스를 교체하는 기술이다. PCB 컨텍스트 hyunie-y.tistory.com 여러개의 프로세스가 실행되고 있을 때, 기존에 실행되던 스위치를 중단하고 다른 프로세스를 실행하는 것. CPU에 실행할 프로세스를 교체하는 기술 PCB라고 하는 메모리 별도 공간에 상태값들을 저장, 해당 값들을 찾는 방법으로 구현됨 과도하게 많이 일어날 경우 오버헤드가 발생됨.

CS/운영체제 2023.11.20

페이지 폴트(Page Fault)

어떤 페이지에 접근하려고 했을 때 해당 페이지가 실제 물리 메모리에 부재할 때 뜨는 인터럽트. 어떤 프로그램이 자신의 주소공간(가상메모리 공간)에는 존재하지만 시스템의 RAM에는 현재 존재하지 않는 데이터, 코드에 접근할 경우 발생하는 현상 페이지폴트 뜨면 운영체제가 이를 해결한 후 동일한 명령을 수행 운영체제는 그 데이터를 메모리로 가져와서, 페이지 폴트가 전혀 발생하지 않은 것처럼 프로그램이 계속적으로 작동하게 해줌. 페이지폴트가 자주 일어날수록 운영체제 성능이 많이 저하되기 때문에 페이지폴트 일어나지 않게 하는게 중요 최소화 방법으로는 페이지 교체 정책이 있음 메모리 꽉차있을 때 기존 페이지 중 하나를 물리메모리 -> 저장매체로 내림 새로운 페이지를 방금 비워진 물리메모리 공간에 올림 페이지 교체 ..

CS/운영체제 2023.11.20
728x90