분류 전체보기49 동시성 처리 프로세스와 스레드프로세스- 운영체제의 작업 단위- 실행중인 프로그램- 프로세스 실행을 위해 PCB를 생성하며, PCB에는 프로세스의 상태, 메모리 정보 등을 포함스레드- CPU의 작업 단위, 하나의 프로세스 내에서 독립적으로 실행- 모든 프로세스는 기본적으로 하나의 스레드를 갖는데, 이를 메인스레드 라고 함- 스레드가 등장하면서 프로세스 > 자원의 단위, 스레드 > 실행의 단위PCB와 TCB- PCB는 프로세스의 정보를 담고 있고, 각 스레드는 프로세스의 PCB에 연결됨 TCB를 가짐- TCB는 스레드의 프로그램 카운터(PC), 스택 포인터(SP), 레지스터 상태 등 CPU와 관련된 정보를 담아 컨택스트 스위칭을 가능하게 함- 스레드가 많아질 경우, 여러개의 TCB를 갖기도 함 병렬 처리의 두가지 방.. 2024. 12. 28. [개인출시앱] 모닝글로리 업데이트 과정 - 1 이번 게시글에서는 이전에 배포했던 모닝글로리 앱을 개선하기 위해 진행한 업데이트 과정과 그 배경에 대해 이야기해보고자 합니다..! (어떤 문제를 발견하고, 이를 어떻게 해결하여 사용자 경험을 개선했는지?) 문제점1. 사용자에게 친절하지 않는 기능들 고정된 시간과 미션개수- 기존의 모닝글로리는 사용자가 지정된 시간과 미션 개수에 맞춰 활동을 수행하도록 설계 1-1. 고정된 시간 현재 상황- 아침 시간(예: 5시~7시)에 미션을 완료하도록 고정의도- “미라클 모닝”이라는 컨셉을 강조하기 위해 아침 시간을 고정문제점- 사용자마다 생활 패턴이 다르기 때문에 고정된 시간은 비현실적일 수 있음- “아침 시간”이라는 제한이 오히려 사용자들의 부담감을 증가시키고, 앱 사용률을 떨어뜨릴 가능성이 있음고민- 확장성을 열어.. 2024. 12. 22. 스레드의 등장 멀티태스킹- 컴퓨터가 여러 작업을 동시에 수행하는 것처럼 보이게 하는 운영체제의 기술 멀티태스킹 구현 방식 1. 시분할 멀티태스킹- 하나의 CPU가 작업을 빠르게 전환 처리, 사용자에게 동시에 실행되는 것처럼 보이게 함- CPU가 매우 빠르게 전환하여 작업이 병렬로 실행되는 것처럼 느껴짐 2. 병렬 멀티태스킹- 여러 CPU나 코어를 활용하여 작업을 실제로 동시에 처리- 작업 간 충돌을 최소화, 처리 속도 향상멀티태스킹의 한계초기 운영체제와 시분할 방식의 문제점- 초기 운영체제는 단일 CPU로 작동, 시분할 멀티태스킹 방식 주로 사용 문제점1. CPU 자원의 한계- 작업이 많아질수록 모든 프로세스가 CPU를 할당받을 기회가 줄어듦2. 컨텍스트 스위칭 비용- 프로세스 전환 시, 레지스터 값과 메모리 상태를.. 2024. 12. 21. 프로세스와 운영체제의 이해 프로세스- 프로그램이 메모리에 로드되어 실행되는 개체- 실행을 위해 운영체제(커널)에 의해 관리되는 작업 (운영체제로부터 PCB를 할당받아 생성된 상태) 프로세스 생성- 메모리의 사용자 영역에 프로세스로 올라오고, 운영체제 영역에 해당 프로세스에 대한 PCB가 올라온 상태 프로세스 종료- 메모리의 운영체제 영역에 PCB가 사라지고, 사용자 영역의 프로세스가 사라진 상태PCB - Process Control Block PCB란?- 프로세스에 대한 메타데이터 저장하는 운영체제의 자료구조- 프로세스 관리에 필요한 정보 저장 - PCB에 포함된 메타데이터 예시메타데이터란?- 데이터에 대한 데이터를 의미ex) 이미지 파일의 촬영 날짜, 해상도 등 프로세스의 메모리 구조 정적영역- 컴파일 타임에 각 영역의 메모리 .. 2024. 12. 15. 운영체제의 역할과 구조 1. 운영체제의 정의와 컴퓨터 자원운영체제?컴퓨터 자원을 효율적을 관리하는 SW 컴퓨터자원?운영체제가 관리하는 주요 컴퓨터 자원 - 메모리: 주기억장치(RAM)와 보조기억장치(디스크)- CPU: 프로세스 실행을 담당하는 중앙처리장치- 입출력 장치: 키보드, 마우스, 디스플레이, 네트워크 카드 등 2. 운영체제의 구조 2-1. 커널운영체제의 핵심, 컴퓨터 자원 관리, 소프트웨어와 하드웨어 사이의 중개자 (운영체제는 컴퓨터의 자원을 효율적으로 관리하는 SW인데, 커널은 그 SW의 핵심입니다.그렇다면!!커널이라는 것은 운영체제가 하는 일을 실행하는 핵심이라고 볼 수 있습니다.) a. CPU 관리- 프로세스 스케줄링: 프로세스에 CPU를 배분하고 작업에 필요한 환경 제공- 컨텍스트 스위칭: 여러 프로세스 .. 2024. 12. 14. 컴퓨터의 구성과 동작원리 1. 폰노이만 구조모든 프로그램은 메인 메모리에 올라와야 실행할 수 있다. 2. 컴퓨터 하드웨어 구성2-1. CPU (Central Processing Unit)컴퓨터의 두뇌로, 명령어를 해석하고 실행(메모리를 읽어들이고 해석하고 실행하고..) 구성요소- Control Unit(제어장치): CPU 내 작업을 지시하는 장치- ALU(산술 논리 장치): CPU에서 데이터를 연산하는 장치 (계산기)- Register(레지스터): 작업에 필요한 데이터를 CPU 내부에 보관하는 장치 CPU 비트 크기- 32비트/64비트: CPU가 한 번에 처리할 수 있는 데이터의 최대 크기 2-2. 메모리 데이터를 저장하고 처리하기 위한 계층적 구조를 갖추고 있음 a. 메모리 계층- 메모리 계층은 가격 최소화, 빠른 접근 .. 2024. 12. 11. 이전 1 2 3 4 ··· 9 다음