반응형 Computer Science118 [운영체제] OS의 스레드 종류(User, Kernel)와 관련 아키텍처 소개 운영체제 스레드 (Threads)Multithreaded Server 아키텍처서버는 accept()라는 블로킹 함수를 실행해서 대기하다가, 요청을 받으면 소켓을 할당을 해서 read()라는 블로킹 함수로 읽을 수 있다. 서버는 클라이언트 연결요청을 기다린다. 클라이언트가 보낸 요청을 읽어서 수행한다.request는 이미 연결이 성공 후 보내는 것이다.서버는 read()함수를 이용해서 서버가 처리를 해준다. → task → 별도의 스레드로 테스크를 할당한다.accept(), read()는 동시에 처리해도(순서가 지켜지지 않아도) 되므로 메인 스레드는 항상 accept()하면서 concurrent하게 진행이 된다.장점Responsiveness: 프로세스의 일부가 block 되더라도 다른 task는 진행된다... 2025. 4. 13. [운영체제] OS의 프로세스(Process)의 개념과 구조, IPC 매커니즘 프로세스같은 프로그램을 실행하는 프로세스는 여러 개 있을 수 있다.프로그램의 종류Batch System: JobsTime Shared System: User Programs, TasksJob = Process프로세스는 실행 중인 프로그램이다.하나의 프로세스 실행은 순차적으로 진행되며, 레디 큐(Ready Queue)에 들어가 선택될 때까지 대기한다.프로세스의 내부 구성프로그램 코드: 텍스트 영역CPU 레지스터: 현재 프로세스의 실행 정보 (PC: 다음 명령 주소)Stack: 임시 데이터를 저장하는 공간 (액티베이션 레코드 포함)함수 파라미터, 반환값, 로컬 변수 포함Data Section: 전역 변수 및 static 변수Heap: 프로세스 종료 시까지 유지, 동적 메모리 할당 (malloc 등 시스템 콜.. 2025. 4. 13. [운영체제] OS의 구조와 서비스 종류 소개, 시스템 프로그램과 시스템 콜 소개 OS의 전체적인 구조 Hardware (하드웨어)컴퓨터의 물리적 자원 (CPU, 메모리, I/O 장치 등Operating System (운영체제)하드웨어와 사용자 프로그램 사이의 중개자 역할 수행Services (운영체제가 제공하는 기능)이 글에서 다루는 운영체제의 서비스(기능)으로 아래에 기술하겠다.System Calls (시스템 콜)사용자 프로그램이 운영체제의 기능을 요청하는 인터페이스예: open(), read(), write(), fork(), exec() 등User Interfaces (사용자 인터페이스)GUI (Graphical User Interface): 그래픽 기반 인터페이스Batch: 명령어 집합을 자동으로 실행Command Line: 텍스트 명령어를 통해 시스템과 상호작용User an.. 2025. 4. 13. [운영체제] OS의 듀얼모드와 작업(Operations)의 종류와 관리 기능 소개 OS의 OperationsInterrupt-driven운영체제는 비동기적인 이벤트를 감지하고 처리하기 위해 interrupt-driven 방식으로 동작한다.하드웨어 인터럽트: I/O 디바이스 작업 완료 시 발생소프트웨어 인터럽트 (trap, exception):오류: 0으로 나누기, 다른 프로세스의 메모리 접근 등 → 강제 종료시스템 콜 함수 호출: 앱이 직접 리소스를 접근하지 않고 OS를 통해 요청Dual-mode Operation운영체제는 모드를 전환하며 동작함으로써 자기 자신을 보호한다.User mode: 사용자 프로세스를 실행하는 모드. 사용자가 접근 가능한 리소스에 한정된 작업 수행Kernel mode: 시스템 콜이나 하드웨어 제어 등 privileged operation 수행Mode bit0:.. 2025. 4. 13. [운영체제] OS의 개념과 구조, 컴퓨터 시스템 아키텍처 소개 운영체제란?운영체제는 실행되는 프로그램이다. OS도 실행되는 프로그램이며, 일반적인 응용프로그램과는 논리적인 위치 관계에서 차이가 있다.OS는 사용자와 하드웨어 사이에 위치하여 다음과 같은 역할을 수행한다.리소스 할당자: 시스템 리소스를 사용자 및 프로세스에게 효율적으로 할당한다.제어 프로그램: 애플리케이션의 실행을 제어하며, 비정상적인 리소스 사용을 방지한다. (예: 프로그램 강제 종료)운영체제가 하고자 하는 바사용자 프로그램을 실행시킨다. 즉, OS 위에서 동작한다.컴퓨터 시스템 리소스를 쉽게 사용할 수 있도록 돕는다.자원(Resource) 관리: 운영체제의 핵심 기능 중 하나이다.리소스를 관리해주는 OS응용프로그램이 직접 리소스에 접근하지 않고, 반드시 OS를 통해 요청하도록 설계된다.만약 OS가.. 2025. 4. 13. 장애허용성과 TMR, 프로세스 그룹의 개념 설명 (Fault Tolerance, Process Group) Issue of Fault ToleranceFault Tolerance는 distributed system(분산 시스템)의 핵심 특성 중 하나로, single-machine system(단일 시스템)과의 중요한 차별점을 이룬다.특히, 분산 시스템에서는 partial failure(부분 실패)의 개념이 존재하며, 이는 시스템의 일부만 고장나는 상황을 의미한다.따라서 분산 시스템 설계의 중요한 목표 중 하나는, 시스템이 이러한 부분 실패로부터 자동으로 회복할 수 있도록 구성하는 것이다.이러한 회복 과정은 전체 성능에 심각한 영향을 주지 않아야 한다.Stability Quality of Software SystemsAvailabilityAvailability는 시스템이 즉시 사용 가능한 상태에 있는 특성을 의.. 2025. 4. 12. [데이터베이스] 정규화(Normalization)와 함수 종속성, BCNF분해, 3NF분해, 종속성 규칙과 공리 정규화(Normalization)란?정규화는 데이터베이스 설계 시 데이터의 중복을 최소화하고, 데이터의 무결성을 유지하기 위해 테이블을 구조적으로 분해하는 과정이다. 정규화를 통해 데이터 저장 공간의 낭비를 줄이고, 삽입/삭제/갱신 이상(Anomaly)을 방지할 수 있다.정규화의 목적중복 데이터 제거데이터 무결성 유지삽입/삭제/갱신 이상(Anomalies) 방지테이블 간의 명확한 관계 설정정규화 과정 (Normal Forms)정규화는 여러 단계로 구성되며, 각 단계는 이전 단계보다 더 높은 수준의 정규성을 보장한다:제1정규형(1NF): 모든 속성 값이 원자값(Atomic Value)으로 되어 있어야 함제2정규형(2NF): 1NF를 만족하고, 부분 함수 종속 제거제3정규형(3NF): 2NF를 만족하고, 이.. 2025. 4. 10. 이전 1 2 3 4 5 6 7 8 ··· 17 다음