본문 바로가기

분류 전체보기30

[운영체제] 2. 컴퓨터 시스템과 운영체제 - (3) 커널과 시스템 호출 수업>    📍1. 응용프로그램의 직접 자원 접근 문제1-1. 응용프로그램의 직접 자원 접근은 심각한 문제를 초래!✔️오늘날 운영체제는 멀티프로그래밍 처리 방식을 지원- 다수의 응용프로그램이 한 컴퓨터에서 동시에 수행✔️응용프로그램이 직접 컴퓨터 자원에 접근하면 충돌과 자원 훼손 발생 - 다른 응용프로그램이 적재된 메모리 내용 훼손 가능 - 다른 응용프로그램이 만든 파일 삭제 및 훼손 가능 - 응용프로그램이 커널이 적재된 영역 훼손 가능✔️응용프로그램의 직접 자원 접근 불허  ➡️ 자원에 대한 모든 접근은 커널에만 부여 1-2. 구체적인 해결 방법1️⃣메모리 공간을 사용자 공간과 커널 공간으로 분리응용프로그램은 사용자 공간에 적재, 커널 코드와 데이터는 커널 공간에만 적재2️⃣CPU의 수행 모드를 사.. 2025. 4. 9.
[운영체제] 2. 컴퓨터 시스템과 운영체제 - (2) 컴퓨터 시스템의 계층구조와 운영체제 인터페이스 .목요일 수업>    📍1. 컴퓨터 시스템의 계층 구조1-1. 컴퓨터 시스템이 계층 구조로 설계된 이유 (필요성)✔️계층 간의 독립성 확보를 위해 ➡️ 추상화 ✔️사용자- OS나 하드웨어에 대한 지식이 없어도 응용 프로그램으로 컴퓨터 활용 가능 ✔️응용 프로그램 개발자 또는 응용 프로그램- 장치의 타입이나 구조, 제어 방법을 몰라도 개발 가능, 그러나 OS를 알아야 함- e.g.) CPU 유형, 메모리 크기를 몰라도 프로그램 작성 가능, 저장 장치가 하드디스크인지 SSD인지, 저장 장치의 크기는 얼마인지, 디스크 헤드는 몇개 있는지 몰라도 파일 입출력 프로그램 작성 가능 ➡️ OS에게 요청하여 해결- 컴퓨터 하드웨어가 바뀌어도 응용프로그램을 다시 작성할 필요 없음 ✔️운영체제- 운영체제는 장치와 관련된.. 2025. 4. 9.
[운영체제] 2. 컴퓨터 시스템과 운영체제 - (1) 컴퓨터 시스템과 하드웨어 📍 1. 컴퓨터 시스템과 하드웨어1-1. 컴퓨터 시스템의 범위 - 컴퓨터 시스템을 구성하는 계층 1️⃣ 응용소프트웨어 2️⃣ 운영체제 ✔️ 상위 계층과 하드웨어 간의 인터페이스 역할 ✔️ 상위 계층에게 하드웨어를 추상화 함 ✔️ 하위 계층 관리 3️⃣ 컴퓨터 하드웨어 📍 2. 컴퓨터 하드웨어2-1. 컴퓨터 하드웨어 구성CPU, 레지스터, 메모리, 캐시, 버스 2-2. CPU ✔️ 기계 명령어를 수행하고, 다른 수행 장치들을 제어함 1️⃣ 제어 장치기계 명령어를 해석하여 수행하기 위한 제어 신호들을 발생 2️⃣ ALU(산술논리장치)산술, 논리 연산들을 수행 3️⃣ 레지스터CPU동작에 필요한 정보 저장 2-3. 레지스터 ✔️ CPU 동작에 필요한 정보를 임시로 저장하기 위한 초고속 기억장치 2-4. 메모.. 2025. 4. 9.
[운영체제] 1. 운영체제 개요 - (2) 운영체제 유형, (3) 운영체제 구조 수업>  📍1. 운영체제 유형 -  멀티프로그래밍 운영체제1-1. 멀티프로그래밍 운영체제 정의✔️ 여러 프로그램을 메모리에 올려놓고 동시에 처리하는 방식 ✔️ 주요 목적은 CPU 활용률을 최대화하기 위함e.g.) 멀티프로그래밍 기법으로 3개의 프로그램이 수행되는 패턴   1-2. 멀티프로그래밍 도입으로 인한 이슈1️⃣ 큰 메모리 이슈여러 프로그램을 동시에 메모리에 올려놓기 위해서는 큰 메모리 필요 2️⃣ 메모리 할당 및 관리 이슈몇 개의 프로그램을 적재할 건지? 메모리 어디에 적재할 건지? 프로그램당 할당할 메모리 크기는? 3️⃣ 메모리 보호 이슈프로그램이 다른 프로그램의 영역을 침범하지 못하게 막는 방법 필요4️⃣ CPU 스케줄링과 컨텍스트 스위칭- 수행시킬 프로그램 선택하는 스케줄링 필요- 프로그램.. 2025. 4. 9.
[운영체제] 1. 운영체제 개요 - (1) 운영체제 개념 📍1. 운영체제 정의 ✔️ 컴퓨터 응용소프트웨어와 하드웨어를 안전하게 인터페이스 하기 위해 필요한 서비스의 모음= 루틴= 응용소프트웨어의 개발 지원과 수행을 제어하는 소프트웨어= 컴퓨터 자원의 접근을 제어하고 효율적으로 관리하는 소프트웨어 1️⃣ 컴퓨터의 모든 자원(resource)을 효율적으로 관리함 ✔️ 하드웨어 자원CPU, 캐시, 메모리, 키보드, 마우스, 디스플레이, 하드디스크, 프린터✔️ 소프트웨어 자원응용프로그램✔️ 데이터 자원신호, 세마포어, 뮤텍스, 파일, 데이터베이스등 2️⃣ 자원에 대한 독점(exclusive) 권한을 소유함자원할당, 자원공유, 자원액세스등 3️⃣ 운영체제는 컴퓨터 시스템 관리자(supervisor) 임 수행 중인 프로그램 관리, 메모리 관리, 파일과 디스크 장치 .. 2025. 4. 9.
[인공지능원론] 2. 탐색(Search) - (1) 📍1. 탐색(Search) 이란?인공지능에서 기본적인 도구로, 컴퓨터가 문제 해결을 위해 스스로 해답에 이르는 경로를 찾아가는 과정이다.= 시작상태에서 목표상태까지의 경로를 찾는 것! ✔️상태공간(state space): 상태들이 모여 있는 공간 ✔️연산자: 다음 상태를 생성하는 것 📍2. 상태 공간 탐색 문제✍️ 8-puzzle8-puzzle에서 연산자는 빈간을 4방향으로 움직이는 UP, DOWN, LEFT, RIGHT이 있다. ✍️ 경로 찾기 문제 ✔️초기 상태: 에이전트가 A에 있는 것 ✔️목표 상태: 에이전트가 F에 있는 것 ✔️연산자: 가능한 결러 중 하나의 경로를 선택하는 것 (=다음 상태를 생성하는 것) ☑️에이전트란?어떤 환경에서 특정 목적을 달성하기 위해 행동하는 존재로, 그 .. 2025. 3. 20.
[인공지능원론] 1. 인공지능 소개 📍인공지능의 형태1. 강인공지능(Strong AI)✔️인공지능의 강한 형태✔️자의식이 있다✔️일반적인 영역에서의 문제도 해결하지만, 명령받지 않은 일도 스스로 필요하다면 해결할 수 있다e.g.) 터미네이터의 스카이넷 2. 약인공지능(weak AI)✔️인공지능의 약한 형태✔️자의식이 없음✔️특정한 영역에서 주어진 문제를 해결e.g.) 알파고  📍인공지능의 특징1️⃣학습(Learning)과거의 패턴들로부터 학습할 수 있는 능력을 가지고 있다2️⃣문제 해결(Problem Solving)복잡한 문제를 분석하고 해결할 수 있는 능력을 가지고 있다3️⃣추론(Reasoning)주의의 상황으로부터 추론할 수 있는 능력을 가지고 있다4️⃣빅데이터(Big Data)아주 큰 용량의 변화하는 데이터를 처리할 수 있다  ?.. 2025. 3. 20.
[Flutter] 코딩셰프 조금 매운 맛 - 채팅앱 유용하게 쓰일 것 같은 코드 모음  [ Firebase Firestore 데이터베이스와 실시간 데이터 스트림 연결 ]stream: FirebaseFirestore.instance .collection('chat') .orderBy('time', descending: true) .snapshots(),Firestore의 chat 컬렉션에 실시간으로 접근해 메시지를 가져오는 기능!이를 통해 사용자가 메시지를 보낼 때마다 자동으로 화면에 업데이트되는 실시간 채팅 기능을 구현할 수 있음!   [ ChatBubble 위젯을 통한 사용자와 타인 메시지 구분 ]ChatBubble( clipper: ChatBubbleClipper8(type: isMe ? BubbleType.sendBubble :.. 2024. 11. 2.
[Flutter] 코딩셰프 조금 매운 맛 - 로그인과 주사위 게임 플러터 앱 만들기 유용하게 쓰일 것 같은 코드 모음   [ TextField 입력과 유효성 검사 ]if (controller.text == 'dice' && controller2.text == '1234') { Navigator.push(context, MaterialPageRoute(builder: (BuildContext context) => dice()));}이 부분은 사용자 입력(아이디와 비밀번호)을 받아 유효성 검사를 수행하고 입력값이 일치하는 경우 새로운 화면으로 이동하게 함.유효성 검사는 로그인 기능의 중요한 로직으로, 올바른 인증 절차 없이 다음 화면으로 이동하지 않도록 방지하는 역할을 함!   [ SnackBar를 이용한 오류 메시지 출력 ]ScaffoldMessenger.of(context).sho.. 2024. 11. 2.