운영체제
-
실습과 그림으로 배우는 리눅스 구조 6장 정리운영체제 2022. 11. 6. 21:15
메모리 계층 메모리 장치의 종류 레지스터 캐시 메모리 메모리 저장 장치 위로 올라갈수록 용량이 작고, 비싸며, 빠르다. 캐시 메모리 CPU에서 메모리에 접근하는 시간이 길기 때문에, CPU 입장에서는 레이턴시가 발생한다. 캐시 메모리 처리는 커널을 통하지 않고, 하드웨어 단에서 처리된다. 캐시 메모리를 이용해서 메모리 접근 시간을 고속화 한다. 캐시 메모리는 일반적으로 CPU에 내장되어 있지만, 외부에 있는 경우도 있다. 캐시 메모리의 값이 변경되는 경우 캐시 메모리의 엔트리가 변경되면 더티 플래그가 표시된다. 더티 플래그가 기록된 데이터는 나중에 백그라운드 처리로 메모리에 다시 기록된다. 캐시 메모리가 가득 찬 경우 캐시 메모리에 존재하지 않는 데이터를 추가로 읽으면, 기존의 캐시 메모리 중 하나를 파..
-
실습과 그림으로 배우는 리눅스 구조 1장 정리운영체제 2022. 10. 29. 11:21
정리 리눅스의 중요한 역할은 디바이스를 조작하는 일이다. 디바이스 드라이버를 통해서만 프로세스가 디바이스를 조작할 수 있다. 리눅스는 디바이스의 종류가 같으면 같은 인터페이스로 조작한다. CPU는 프로세스가 직접 하드웨어에 접근하는 것을 차단한다. CPU에는 사용자 모드와 커널 모드가 있다. 사용자 모드로 처리하는 경우 일반적인 프로세스 처리 커널 모드로 처리하는 경우 디바이스 드라이버에 접근하는 경우 프로세스 관리 시스템 프로세스 스케줄링 메모리 관리 시스템 프로세스가 커널 모드의 기능을 사용하기 위해서는 시스템 콜을 통해 커널에 요청을 한다. 커널은 CPU, 메모리 등의 자원을 관리하며, 각 프로세스에 적절히 분배한다. 프로세스 스케줄러는 CPU 자원을 관리한다. 메모리 관리 시스템은 메모리 자원을 ..
-
스레드(Thread) 관리운영체제 2022. 7. 11. 00:11
틀린 내용이 있을 수도 있습니다! 틀린 내용이 있다면 댓글로 달아주시면 감사하겠습니다! 스레드(사용자 수준 스레드) 사용의 이점 1. 프로세스 내 스레드들은 자원을 공유해서 사용하기 때문에 비용이 적은 스레드 수준의 context switching만 발생한다. 2. 일부 스레드 처리가 지연되어도, 다른 스레드들은 작업을 계속 처리할 수 있다. 3. 멀티 프로세서 시스템에서 병렬 처리가 가능하다. 4. 프로세스 수준의 context switching가 발생하지 않기 때문에 멀티 프로세스를 사용하는 것 보다 경제적이다. 사용자 스레드와 커널 스레드 스레드는 크게 사용자 수준 스레드와 커널 수준 스레드로 나눌 수 있다. 운영체제에서는 사용자 수준 스레드와 커널 수준 스레드를 다대다 맵핑하여 사용한다. 1. 사..
-
Process 실행 원리와 context switching운영체제 2022. 7. 10. 18:13
틀린 내용이 있을 수도 있습니다! 틀린 내용이 있다면 댓글로 달아주시면 감사하겠습니다! 프로세스 실행 원리 1. 프로세스가 실행되기 전 프로세스는 HDD나 SSD에 올라가 있으며, 이 상태를 job 또는 Program이라고 한다. 2. job을 실행시키면 프로세스 당 PCB가 하나 생성되어 시스템 커널에 등록된다. 커널에 등록된 후(커널 메모리에 할당) 메모리 할당 받기전 상태를 created 상태라고 한다. 3. created 상태에 있는 프로세스는 메모리 할당을 받게 되면 프로세스 상태는 ready 상태로 변경된다. 이 때부터 프로세스는 프로세서 외 필요한 모든 자원을 할당 받은 상태가 되며, 프로세서만 할당 받게 되면 즉시 실행가능한 상태가 된다. 4. 프로세스 스케줄링에 의해 해당 프로세스를 실행..