[백엔드로드맵][OS] 스레드와 동시성
2023. 4. 6. 23:57
Backend Loadmap/Operating System
스레드 (Thread) 란? - 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위 - CPU 사용하는 기본 단위를 뜻함 - 일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 스레드를 동시에 실행할 수 있음, 이러한 방식을 멀티스레드 라고 함 멀티 스레딩 (Multi-Threading) - 멀티 스레드란 하나의 프로세스 내에서 둘 이상의 스레드가 동시에 작업을 수행하는 것 - 멀티 스레드는 각 스레드가 자신이 속한 프로세스의 메모리를 공유함 멀티 스레딩의 장점 - Non-Blocking 으로 처리 가능 // A 함수가 B 호수를 호출 할 때, B 함수가 제어권을 A 함수에게 바로 넘겨주면서, A 함수가 다른 일을 할 수 있도록 하는 것 - 리소스 자..
[백엔드로드맵][OS] 프로세스 관리
2023. 4. 2. 10:04
Backend Loadmap/Operating System
프로세스 (Process) - 메인 메모리에 할당 되어 실행중인 상태인 프로그램 - 프로그램은 일반적으로 하드디스크 (보조기억장치)에 저장되어 아무 일도 하지 않는 상태임 - 프로세스는 실행 하면서 Pointer, Data, Text, Register 등이 끊임없이 변함 - Job, Task 등으로 불리기도 함 프로세스 상태 New: 프로그램이 메인 메모리에 할당 됨 Ready: 할당된 프로그램이 초기화와 같은 작업을 통해 실행되기 위한 모든 준비를 마침 Running: CPU가 해당 프로세스를 실행 Waiting: 프로세스가 끝나지 않은 시점에서 I/O (입력/출력)으로 인해 CPU를 사용하지 않고 다른 작업을 함 // 해당 작업이 끝나면 ready 상태로 돌아가야 CPU에 의해 실행 가능 Termin..
[백엔드 로드맵][OS] OS의 기본적인 작동 방식
2023. 3. 21. 14:14
Backend Loadmap/Operating System
운영체제 (Operating System, OS) 란? - 시스템 소프트웨어에 해당하는 운영체제 (OS) - 컴퓨터 하드웨어를 관리 - 여러 어플리케이션 (응용 소프트웨어)들이 작동할 수 있는 환경 제공 - 사용자 ↔ 하드웨어 간 전반적인 상호작용하며 컴퓨터가 실행되는 동안 항상 수행되는 프로그램 운영체제 예시 - 컴퓨터: Windows, Linux, mac OS - 모바일: Android, iOS 운영체제의 목적 - 사용자가 컴퓨터를 편리하게 사용 - 컴퓨터 하드웨어의 각각의 자원들이 더욱 효율적으로 사용되는 것 시스템의 발전 - 운영체제는 한 번에 한 개의 프로그램만 실행되는 단일 프로그래밍 → 현재의 빠른 운영체제로 발전되어 옴 - 일괄처리 시스템 → 다중프로그램 시스템 → 시분할처리 시스템 → 실..
[백엔드 로드맵][OS] 터미널 사용 방법
2023. 3. 18. 22:26
Backend Loadmap/Operating System
터미널이란? - 컴퓨터를 직접 제어하기 위해 사용하는 소프트웨어 - 텍스트 기반의 CLI (Command-Line Interface) - 일부 작업 완료하는 것이 GUI에 비해 훨씬 빠르고, 더 많은 명령과 스크립트에 접근 가능 - Windows와 Linux, Mac OS의 명령어는 서로 다르기 때문에, 각 OS에 맞는 명령어 사용해야 함 명령어 실행하기 디렉토리 탐색 (cd) cd Desktop # 현재 위치 폴더 내에 Desktop 폴더가 존재해야 함 cd .. # 이전 디렉토리로 이동 cd Desktop/project/src # 슬래시 구분으로 경로를 한줄에 입력하여 이동 가능 디렉토리 내용 나열 (ls) - Unix 기준, ls 명령어 사용하면 현재 작업 디렉토리에 있는 파일 및 디렉토리 목록을 ..
[백엔드 로드맵][인터넷] 호스팅은 무엇일까요?
2022. 12. 2. 00:23
Backend Loadmap/Internet
호스팅이란? 호스팅이란 서버 컴퓨터의 전체 또는 일정 공간을 이용할 수 있도록 임대해 주는 서비스를 말한다. 인터넷 비즈니스를 시작하기 위해서는 기본적으로 홈페이지의 글 / 이미지 / 동영상 등 정보가 저장될 수 있는 '서버' 공간이 필요하다. 개인이나 기업에서 서버를 직접 보유하고 관리하기에는 비용과 시간이 많이 들지만, '호스팅'을 이용하면 서버를 일정기간 임대하고 관리받을 수 있어 쉽게 비즈니스를 시작할 수 있다. 호스팅에는 웹 호스팅, 서버 호스팅, 클라우드 호스팅과 같은 종류가 있다. 웹 호스팅 웹 호스팅은 콘텐츠 및 파일을 포함한 웹사이트가 인터넷에 전달되는 프로세스다. 일반적인 구분 방식으로는 공유 호스팅 (Shared Hosting)과 전용 호스팅(Dedicated Hosting)으로 나뉜..