본문 바로가기

야미스터디/OS8

[OS] 커널 (Kernel) 📌 운영체제란? 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임 운영체제는 컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스로서 동작하는 시스템 소프트웨어의 일종으로, 다른 응용프로그램이 유용한 작업을 할 수 있도록 환경을 제공한다 운영체제는 커널과 인터페이스로 구성된다 커널 : 프로세스 관리, 메모리 관리, 저장장치 관리와 같은 운영체제의 핵심적인 기능을 모아놓은 것으로 운영체제의 성능을 좌우한다 인터페이스 : 사용자의 명령을 전달하고 실행 결과를 사용자에게 알려주는 역할을 한다 운영체제는 커널과 인터페이스를 분리하여 같은 커널을 사용하더라도 다른 인터페이스를 가질 수 있다 커널 (Kernel) 운영체제의 가장 기본이.. 2022. 8. 26.
[OS] 시스템 콜 (System Call) 📌 https://yummy0102.tistory.com/484 [쉬운코드] 인터럽트와 시스템 콜 https://www.youtube.com/watch?v=v30ilCpITnY 위 영상을 보며 공부한 내용을 정리한 글입니다! 🎭 User mode & Kernel mode 1) User mode 우리가 개발하는 프로그램은 일반적으로 User mode에서 실행된다 2) User.. yummy0102.tistory.com 우선 시스템 콜의 이해도를 높이기 위해 유튜브 영상을 통해 공부했다! 🖐 들어가기 전에 운영체제는 인터럽트 구동식이다 즉, 인터럽트가 발생하여 신호를 보내는 구조이다 운영체제처럼 규모가 큰 프로그램이 모두 메모리에 올라간다면 한정된 메모리 공간의 낭비가 심하다 따라서 항상 필요한 부분만을 전원이.. 2022. 8. 24.
[OS] 인터럽트와 시스템 콜 https://www.youtube.com/watch?v=v30ilCpITnY 위 영상을 보며 공부한 내용을 정리한 글입니다! 🎭 User mode & Kernel mode 1) User mode 우리가 개발하는 프로그램은 일반적으로 User mode에서 실행된다 2) User mode -> Kernel mode 프로그램 실행 중에 인터럽트(interrupt)가 발생하거나 시스템 콜(system call)을 호출하게 되면 Kernel mode로 전환된다 3) Kernel mode 방금 전까지 User mode에서 실행되고 있던 프로그램의 현재 CPU 상태를 저장한다 커널이 인터럽트나 시스템 콜을 직접 처리한다 즉, CPU에서 커널 코드가 실행된다 처리가 완료되면 중단됐던 프로그램의 CPU 상태를 복원한다.. 2022. 8. 24.
[OS] Critical Section 📌 공유 자원 (Shared resource) 여러 프로세스가 공동으로 이용하는 변수, 메모리, 파일 등을 말한다 공유 자원은 공동으로 이용되기 때문에 누가 언제 어떻게 데이터를 읽거나 쓰거나에 따라 그 결과가 달라질 수 있다 경쟁 조건 (race condition) 2개 이상의 프로세스가 공유 자원을 병행적으로 읽거나 쓰는 상황을 말하며, 공유 자원 접근 순서에 따라 실행 결과가 달라지는 상황을 말한다 즉, 타이밍이나 순서 등이 결과 값에 영향을 줄 수 있는 상태를 말한다 -> 동시성 문제 Critical Section (임계 영역) 임계구역 또는 공유변수 영역이라고 불린다 이는 병렬 컴퓨팅에서 둘 이상의 스레드가 동시에 접근해서는 안되는 공유 자원(자료 구조 또는 장치)을 접근하는 코드의 일부를 말한다 .. 2022. 8. 5.
[OS] 세마포어와 뮤텍스 📌 🖐 개념 정리 공유 자원 여러 프로세스가 공동으로 이용하는 변수, 메모리, 파일 등을 말한다 이는 공동으로 이용되는 자원이기 때문에 누가 언제 데이터를 쓰거나 읽느냐에 따라 결과가 달라질 수 있다 경쟁 조건 (race condition) 2개 이상의 프로세스가 공유 자원을 병행적으로 읽거나 쓰는 상황 여러 프로세스/스레드가 동시에 같은 데이터를 조작할 때 타이밍이나 접근 순서에 따라 결과가 달라질 수 있는 상황 즉, 두 개 이상의 프로세스가 하나의 자원을 두고 서로 이용하려고 경쟁하는 상황이다 동기화 (synchronization) 여러 프로세스/스레드를 동시에 실행해도 공유 데이터의 일관성을 유지하는 것 임계 구역 (Critical Section) 여러 프로세스가 데이터를 공유하며 수행될 때, 각 프로.. 2022. 7. 24.
[OS] 교착 상태 (Dead Lock) 📌 교착 상태(Dead Lock) 란? 운영체제에서 데드락이란, 시스템 자원에 대한 요구가 뒤엉킨 상태이다 즉, 두 개 이상의 프로세스가 다른 프로세스가 점유하고 있는 자원을 서로 기다릴 때 무한 대기에 빠지는 상황 시스템적으로 한정된 자원을 여러 곳에서 사용하려고 할 때 발생한다 다중 프로그래밍 환경에서 흔히 발생할 수 있는 문제로, 문제 해결을 위한 일반적인 방법은 아직 없다 교착 상태가 발생하는 조건 데드락이 발생하기 위한 필요 조건은 4가지로, 여기서 하나라도 충족되지 않으면 데드락이 발생하지 않는다 그러나 4가지 조건을 모두 충족했다고 무조건 교착상태가 발생하는 것은 아니다! 아래의 조건 중 순환대기는 점유대기와 비선점을 만족해야 성립하기 때문에, 서로 완전히 독립적인 것은 아니다 1. 상호 배제 .. 2022. 7. 21.