개발
모듈화 프로그래밍이란?
📕모듈화 프로그래밍이란? 소프트웨어 개발에서 모듈이란 독립적인 기능이 있는 단위(unit)를 뜻한다. 여기서 중요한 것은 독립적이어야 한다는 것이다. 모듈은 모듈 자체로서 재사용될 수 있고 컴파일할 수 있어야 한다. 만약 모듈이 독립적이지 않다면 수정 과정에서 다른 모듈에 영향을 끼치게 되며 기능을 나눈 의미가 없어지게 된다. 모듈의 정의에서 알 수 있듯 모듈화 프로그래밍이란 프로그램을 설계할 때 프로그램의 각 기능을 분리하는 것이다. 이렇게 하면 프로그램의 복잡도가 줄어들어 유지 보수 및 코드 재사용이 쉬워진다. 즉 효율성이 향상된다. 모듈화 프로그래밍을 할 때 각 모듈의 크기는 정해진 바가 없지만 대신 몇 가지 지켜야 할 원칙이 있다. 앞서 말했듯 각 모듈은 독립적이어야 하며, 각 모듈은 가능한 한 ..
CPU 스케줄링
https://inf.run/bXfg 그림으로 쉽게 배우는 운영체제 - 인프런 | 강의 이 강의를 통해 모든 개발자들이 필수로 알아야하는 운영체제의 원리를 알 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 본 포스팅은 위 링크의 강의를 요약/정리한 것으로, 지식의 공유보다는 개인적으로 공부하고 복습하기 위해 기록한 것입니다. CPU스케줄링 개요 CPU 스케줄링 🔗운영체제가 프로세스에 CPU를 할당하고 해제하는 것 🔗스케줄러(운영체제)가 고려하는 것 어떤 프로세스에 CPU 리소스를 줘야 하는가? 프로세스가 얼마나 오래 CPU를 사용해야 하는가? 🔗CPU Burst: CPU를 할당받아 실행하는 것 🔗I/O Burst: 입출력 작업 다중 큐 다중큐 🔗프로세스의 상태 중 준비와 대..

3. 프로세스의 이해
프로세스의 이해 프로세스란? - 실행 중인 프로그램을 프로세스라 한다. - 프로세스란 운영체제에서의 작업 단위이다. - 프로세스를 실행하려면 자원이 필요하다.(CPU time, memory, files, I/O devices) Memory layout of a process 프로그램이 실행될 때 운영체제는 프로세스가 사용할 가상 메모리 공간을 받는데, 이 메모리의 구성을 메모리 레이아웃이라고 한다. - Text section: 실행 가능한 코드가 차지하는 영역 - Data section: 전역 변수가 차지하는 영역 - Heap sction: 동적 할당으로 저장되는 데이터가 차지하는 영역. 런타임 시에 크기가 결정되며, 사용자가 관리해 줘야 한다. 낮은 주소의 메모리에서부터 높은 주소의 메모리로 할당된다...