본문 바로가기

전체 글44

프로세스와 운영체제의 이해 프로세스- 프로그램이 메모리에 로드되어 실행되는 개체- 실행을 위해 운영체제(커널)에 의해 관리되는 작업 (운영체제로부터 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.
[개인 프로젝트] SpotChat 회고 ⭐️  기획 단계🤔  주제 선정유럽 여행 경험을 바탕으로, 사람들이 함께 동행할 수 있는 플랫폼이 있으면 좋겠다는 필요성을 느꼈습니다.특히 유럽 여행지에서 동행을 구하는 활동이 ‘유랑’과 같은 온라인 커뮤니티에서 주로 이루어진다는 점에서 착안하여, 이를 더욱 간편하게 연결할 수 있는 모바일 앱으로 구현하고자 했습니다.또한, 이러한 활동이 주로 젊은 연령층 사이에서 이루어지고 있음을 고려했을 때, iOS 앱으로 출시가 된다면 해당 타겟층에게 높은 메리트를 제공할 것으로 판단했습니다. ✅  개발 방식지난 프로젝트에서는 처음부터 모든 기능을 완벽히 설계하고 진행하는 방식으로 작업을 진행했습니다. 그러나 프로젝트 후반부에 새로운 요구사항이 생기거나 수정이 필요할 때, 앱 전반을 변경해야 하는 상황이 발생했습니.. 2024. 12. 7.
[iOS] About Kingfisher 이번 게시글에서는 제가 자주 사용하는 라이브러리 Kingfisher의 기능들에 대해서 알아보고자 합니다. 그런데 저의 경우, 초반에 학습할 때 Kingfisher를 사용하는 명확한 이유에 대해서 알지 못한 채로 사용했었는데요..! 그래서 이번에는 Kingfisher를 사용하는 이유와, 이를 통해 얻을 수 있는 장점들을 정리하며 보다 명확한 사용 목적을 이해하고자 합니다.이를 위해 먼저 이미지 캐시의 기본 개념과 여러 캐싱 방법들을 간단히 짚어보고, 이후 Kingfisher가 이러한 캐싱 전략을 어떻게 활용하고 있는지 살펴보겠습니다!이미지 캐시?이미지 캐시는 어플리케이션에서 이미지를 효율적으로 로드하고 표시하기 위해 이미지 데이터를 임시로 저장하는 기술입니다. 이미지 캐시의 필요성- 빠른 로드 시간- 네트.. 2024. 11. 27.
[iOS] About 채팅 UI UIKit을 활용한 채팅 UI... 그런데 이제 SnapKit을 곁들인.. 준비물: UIKit, SnapKit, UITableViewCell, 채팅에 대한 정보(송신자, 시간, 내용 등) 구성요소: messageBubble, messageLabel, imageContainerStackView, taimeLabel 목표- 메시지를 보낸 사람이 본인 / 상대방 에 따라 메시지 버블 색삭 및 위치 다르게 설정- 텍스트와 이미지를 포함한 메시지 지원 0. 뷰 계층 구성은 SKIP~ 1.  메시지 버블 레이아웃 private var leadingConstraint: Constraint?private var trailingConstraint: Constraint?messageBubble.snp.makeConstra.. 2024. 11. 20.